Outline a test plan for a substantial real-life system

Assignment Help JAVA Programming
Reference no: EM13169287

Test Plan

Outline a test plan for a substantial real-life system of your choosing. Some possible examples:

• baggage handling system for a major airport
• software for in-car GPS navigation.

Describe how you would approach the design and testing process to ensure success and quality in the result.

Where are the risks? How are you going to address them?

Decompose the problem, think about where the greatest risks are, and how they can be managed first, and probably at a smaller scale, and then progressively assembled using Bottum Up design, Unit Testing and/or other appropriate methodologies, with the goal of proving (or disproving) the feasibility early and at least cost.
Also list (dot point form is fine) what you believe to be:

• The three most important types of tests;

• Three types of testing that you think to be much less important. Justify your reasons. Consider failure modes and their consequences, and by what method and to what extent it is possible to anticipate and prevent them through the software design and test process.

The assessable component for this week will be to write a test plan for either the 2048 program you have been writing, or the software project you intend to use for the pracs next term.

If you haven't read the notes for todays lecture, or watched the lecture, you will probably do well to do at least one of those, as today's lecture discussed a number of the elements that arise in testing and planning to test.

You will likely notice that they all offer contradictory instructions.

You will need to decide on your own methodology for this prac. Considering the material in these and other resources, and the product, i.e., software, you are trying to produce, reason about the kinds of testing that are necessary or appropriate.

You can just write dot points if you like.

Then start shaping that into a coherent plan as to how you intend to test the software.

You will want to be convincing me that your plan will adequately test all relevant aspects of the software with a view to the plan being defensible in the (expected to be highly unlikely) that a defect emerges after "delivery" of your program.

Create the test plan as a plain text or mark-down (.MD) document in the git repository where the program lives (you might need to fork and clone it if you haven't already done so).

Whitebox Testing

Whitebox text one of the following:

You will need to write 10 tests to obtain the checkpoint.

Whitebox tests concentrate on exercising as many code paths and lines of the source code as possible. This is in contrast to the Unit Tests you wrote as part of our Test Driven Design work earlier in the course.

Those tests were blackbox tests, i.e., written without reference to the source code (in that case the source code didn't even exist), and as such were Black Box tests.

Another difference is that Black Box tests are focused on the functionality and specification, rather than verifying correct behaviour of each line of code in the solution.

In other words, Black Box tests are functional, while White Box tests are structural.

There are number of ways you can attack White Box testing, some of which we discussed in the lectuer today. You might want to watch the recording of this week's lecture to get you thinking about these (especially since only a few of you were able to attend today's lecture).

A good guide is that every if or other branch or decision point in a function requires a test. For complex branch expressions you may need to decompose them to identify multiple tests to ensure all decision paths are exercised. For example, if two variables in the expression of an if statement can affect the result, then two tests will be needed (and possibly more).

If we have the statement:
if ((a>7)||(b<5))

Two tests will be needed, one with a>7 and one with b=5 to test the alternate path.

A further good guide is wherever there are boundary conditions, you should also test either side of the boundary condition. For the above example, this might mean the following tests:
a=6, b=10 a=7, b=10 a=8, b=10 b=4, a=1 b=5, a=1 b=6, a=1

This helps to pick up errors where the wrong relative expression has been used, or the logic in the expression suffers from some other flaw.
Of course, the tests should be written with regard to the expected correct behaviour of the function, not merely making sure the function does what the function does!

Where you have multiple branch points, you will end up with many variables or conditions to consider, and you may need to reason more deeply in order to work out which input values will exercise all possible lines and code paths.

This deep inspection of the source code is valuable in itself, and often turns up many bugs (for which you can then write tests that fail to hand back to the developer!). It can also help identify code that never gets run, or where various conditions are not properly accommodated.

These are just a few ideas of how you can go about white box testing.

 

 

 

Example: this a student example to get the idea. Develop entirely different version based on my game.

1. Introduction

This document provides the testing needed for the 2048 game. The main function of this program is to have a board of tiles, with numbers in them. When the board is tilted, these tiles move in the direction of the tile, merging into a larger number if two identical numbers collide. This test plan is split into a number of sections. Section 2 refers to all relevant testing conducted in this test plan. Section 3 specifies what needs to be tested, and the outcome of the test. Section 4 outlines what is not needed to be tested. Section 5 shows the documentation produced by the program and testing. Finally, section 6 shows what risks are involved in this testing, and what the testing is dependent on.

2. Test types to consider

  • Unit testing
  • White box testing
  • Regression testing
  • Blackbox testing
  • Integration testing

3. What to test:

  • Initialisation
    • Initial empty 4x4 board
    • Two 2's are placed
    • User is prompted for first move
  • Input
    • Program accepts u,d,l,r, blank input
    • Program rejects all other input, with an error
  • Tilting
    • Board tilts in the direction specified by the input
    • If two values next to each other are the same, they will merge into a single tile double the value
    • Unique tiles will not merge
    • A 2 or 4 will be randomly placed if the board is not full
  • Full board
    • If the board cannot be tilted, game notify the user the game is over then quit
    • Else game will continue as normal
  • Display
    • The game will output exactly what is calculated and stored
  • End game
    • If there is a 2048 piece, game produces win message, prompting the user if they want to finish
  • Scoring
    • Score is incremented by the number of a merged piece ## 4. What not to test:
  • Input
    • Large number of input sent in a small space of time should function
  • Compatibility
    • Program works perfectly with every single platform

5. Documentation produced:

  • Software documentation
  • Commits
  • Test log

6. Risks and dependencies:

  • Understanding of the 2048 game, and its rules
  • Knowledge of C, the language of the program
  • System with the ability to conduct test
  • 2048 program to test on


Download:- Java.zip

Reference no: EM13169287

Questions Cloud

Explain a mixture of gas contains methane : A mixture of gas contains 46.3 % methane, 37.2% ethane and 16.5% propane(by mass). A 477g sample of the gass is burned with exces oxygen
What is the name or melting point of the product : In this experiment we used ortho-vanillin and p-toluidine to form the imine. Why does the reaction mixture turn into a liquid when the ortho-vanillin and p-toluidine are initially mixed? What is the name or melting point of the product?
What atomic or hybrid orbitals make up the sigma bond : What atomic or hybrid orbitals make up the sigma bond between Br and Cl in bromine trichloride, BrCl3 ?
Caluculate the molarity of the naoh solution : a sample of KHC2O4 weighing 0.717g was dissolved in water and titrated with 23.47 mL of an NaOH solution. caluculate the molarity of the NaOH solution.
Outline a test plan for a substantial real-life system : Describe how you would approach the design and testing process to ensure success and quality in the result and where are the risks? How are you going to address them?
Compute the overall change in energy de : A three-step industrial process involves both heat and work. Calculate the overall change in energy DE for the entire process, given these three individual steps.
What is the specific heat gravity : if 69.5 kj of heat is applied to a 1012-g block metal, the temperature of the metal increased by 11.4 degrees celsius. what is the specific heat gravity?
Calculate the grams of oxygen in the bomb : The steel bomb of bomb calorimeter, which has a volume of 75 mL, is chaged with oxyen to a pressure of 145 atm at 22 C. Calculate the moles of oxygen in the bomb. Calculate the grams of oxygen in the bomb.
Find the shape factor from the disk a1 : Two parallel disks having diameters of 50 cm are separated by a distance of 10 cm. One disk also has a 20-cm-diameter hole cut in the center. Find the shape factor from the disk A1 to the one without a hole A3.

Reviews

Write a Review

JAVA Programming Questions & Answers

  Consider an array of integers

Consider an array of integers as below: int[] a = {5, 2, -4, 3, 0, -5, 7, 11, 6, 13} Complete the method named count(int[] a) in the class Count. The method should return the number of positive numbers in the array

  An api for a library that provides for all these operations

Quaternions can be represented with four (4) real numbers (a,b,c,d). They can be added, subtracted, multiplied and divided. You can multiply a quaternion by a scalar (which produces a quaternion as a result)

  Write a method called alldigitsodds that returns

Write a method called AllDigitsOdds that returns whether every digit of a positive integer is odd. Return true if the numbers consist entirely of odd digits (1,3,5,7,9)

  A class is a blueprint for an object

A class is a blueprint for an object. A class may have a default constructor, a constructor with arguments, accessor methods, mutator methods, public fields, and private fields.

  Create a computer class

Create a computer class and assume computers have the following fields: String manufacture, double price, int year

  Write a java program using array to auto-grade exams

Write a JAVA program using 2D Array to auto-grade exams. For a class of N students, your program should read letter answers (A, B, C, D) for each student.

  Create bean jsp program which will compute simple interest

Create the bean which will compute Simple Interest. Use bean in JSP program. Accept details of saving like principal amount, rate of interest, period-in years from user and show amount

  Display the earliest and latest dates that appear in a data

display the earliest and latest dates that appear in a data file, and the number of times that they appear. I have already parsed all of the dates from their original string to their corresponding int values.

  Create a data set with 100 integer values.

Create a data set with 100 integer values. Create a program that uses the division method of hashing to store the data values into hash tables with table sizes of 7,,51 and 151. Use the linear probing method of collision resolution. Print out the ..

  Add a draw() method to horse class.

Add a draw() method to your Horse class. You will also need to create a couple of Horses in your DrawPanel class, and call the draw() method for each Horse from the paintComponent() method. There is no need to modify the DrawPanelDriver class.

  Write a program that prompts the user to enter an integer

Using && and || write a program that prompts the user to enter an integer and determine whether it is: Evenly divisible by 5 AND 6.

  Write specifications for method which advances date by one

Write specifications for the method which advances any given date by one day. Comprise a statement of purpose, pre- and post-conditions, and description of parameters.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd