Test plan outline a test plan for a substantial real-life

Assignment Help JAVA Programming
Reference no: EM13376653

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: EM13376653

Questions Cloud

Why were some people attracted to the communist party : why were some people attracted to the communist party during the 1930s? identify and explain the positions the party
How did the automobile change america both geographically : how did the automobile change america both geographically and socially? please make sure the essay is 300 to 500 words
Writing requirementbullto write at least200 words with : writing requirementbullto write at least200 words with academic reference or theoretical frameworks for each solution
Dangerously thin a case study on the genetic codeat 65 : dangerously thin a case study on the genetic codeat 65 years old henry blake was in excellent health and enjoying his
Test plan outline a test plan for a substantial real-life : test plan outline a test plan for a substantial real-life system of your choosing. some possible examplesbullbaggage
Explain the neo-classical theory of trade and show the : explain the neo-classical theory of trade and show the difference between this and the classical approach as wellas the
1 specific organization2 specific problem with that : 1. specific organization2. specific problem with that organization3. describe the situation using theory4. diagnose the
Task 11outline the different purposes and focuses of a : task 11.outline the different purposes and focuses of a learning program2.outline the various modes of delivery and
Find it fascinating that many publications communicate the : find it fascinating that many publications communicate the same or similar reason for a business seeking some sort of

Reviews

Write a Review

JAVA Programming Questions & Answers

  Test plan for both unit testing and integration testing

Do a test plan for both unit testing and integration testing, justification why you need this test creating the test case for each individual test must use java language in netbeans IDE to perform each test, screen capture one example to run the ..

  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)

  Write a program that reads in a list of numbers from a file

write a program that reads in a list of numbers from a file and adds up all those numbers. You may hard code in the name of the file, allowing the user to input the filename is not required

  Draw a uml diagram of each of the shapes

Draw a UML diagram of each of the Shapes, Rectangle and Square classes using the code that has been provided. Complete this using the examples that have been provide in the lecture slides - Sample program is provided that creates a list of shapes ..

  Client class to test implementation of the vector class

Write a client class to test your implementation of the Vector3D class thatyou implemented. Name the package in which this class is defined (projectname) vector3dapp.

  Write the method called print triangle type.

Write the method called printTriangleType. This method accepts three integer arguments representing the lengths of the sides of a triangle and prints the type of triangle that these sides form. Here are some sample calls to printTriangleType

  Develop a graphical user interface

For this assignment, you are required to develop a Graphical User Interface (GUI) Java Program to demonstrate you can use Java constructs including input/output via a GUI.

  In this assignment you will be asked to implement a card

in this assignment you will be asked to implement a card game. you will need to make several design decisions for your

  Design and implement a small and simple email server using

design and implement a small and simple email server using the concept of web based information system wbis. your

  Display an image of an apple on the screen

Display an image of an apple on the screen, then after 3 seconds automatically change the display to an orange.

  String that contains at least five letters

Write an application that prompts the user for a String that contains at least five letters and at least five digits. Continuously reprompt the user until a valid String is entered. Display a message indicating whether the user was successful or did ..

  Mutant bacterium-synthesize the amino acid tyrosine

Consider a mutant bacterium you have isolated which is unable to synthesize the amino acid tyrosine. You grow it in the presence of a chemical mutagen and isolate a single revertant, which is now able to grow in the absence of tyrosine

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