| Term 
 
        | Describe the three main types of testing. (6 marks) |  | Definition 
 
        |         Under normal conditions: The application is tested under normal working conditions and the data that a coded solution is supplied with is within the anticipated range. Under extreme conditions: The coded solution is provided with data that is within the operating range but at its limits of performance. Error behavior: An application or program is provided with data that is outside of its limits of performance. This particular test tries to break the application and to investigate if anything occurs when it shouldn’t or something doesn’t occur when it should.         |  | 
        |  | 
        
        | Term 
 
        | Describe the terms verification and validation. (6 marks) |  | Definition 
 
        |   
Verification is when you test if the software matches predefined criteria. This is very similar to functional testing as this can be used to determine whether software works as originally expected.Validation is when we check that an application has been successfully written against specification and non- functional tests are useful because as they too look at the application as a whole through load and performance tests.   |  | 
        |  | 
        
        | Term 
 
        | Compare unit testing with another type of testing that programmer could use. In your answer you should also include a description of what unit testing is.  |  | Definition 
 
        | Definition you must include
 Unit tests or modular tests are performed  by the programmer as they are developing  the program. They test the correctness of  small blocks of code in isolation. 
 Give one other test and their features in detail. Integration testing System testing Alpha testing Compatibility testing
 Benchmark/performance testing
 Black box/functional testing White box testing
 |  | 
        |  | 
        
        | Term 
 
        | Why is rigorous testing of coded solutions needed? |  | Definition 
 
        | 
Verifies that the application meets the specification criteria that and agreed between the developer and the client. 
Manages the risk for both the client and the developer. |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | System testing takes place after the code has been individually tested and is done without having to have any knowledge of the code itself.  This tests that the entire system functions correctly. |  | 
        |  | 
        
        | Term 
 
        | Define Integration testing |  | Definition 
 
        | Integration testing is performed when all of the different parts of code, such as functions or modules, are complete.  This tests whether the units of code work together correctly. |  | 
        |  | 
        
        | Term 
 
        | What is the difference between verification and validation? |  | Definition 
 
        |   
Verification is when you test if the software matches predefined criteria. This is very similar to functional testing as this can be used to determine whether software works as originally expected.Validation is when we check that an application has been successfully written against specification and non- functional tests are useful because as they too look at the application as a whole through load and performance tests. |  | 
        |  | 
        
        | Term 
 
        | What is the difference between alpha and beta testing? |  | Definition 
 
        |     Alpha Tests Applied to generic, off the shelf software. Acceptance testing but an internal variation carried out by an independent team.
 
 Beta Tests
 Comes after alpha testing and is an external type of acceptance testing. Software given to group of people outside of development team.
 |  | 
        |  | 
        
        | Term 
 
        | What is the pass/fail criteria? |  | Definition 
 
        |   
It is almost certain aspects of the application will work and some will fail. This process allows developers to record the problems that occur and also any other issues they think need sorting out.It is common for this sort of test to be used for testing GUI’s.  |  | 
        |  | 
        
        | Term 
 
        | What is the acceptance criteria?   |  | Definition 
 
        |   
The acceptance test is usually carried out by the intended users of the system, the people who requested or commissioned the software. 
The purpose of the acceptance test is to check that the system performs exactly as required.The acceptance criteria should be clearly defined in advance. It is the criteria for which the user decides that the software is acceptable.  |  | 
        |  | 
        
        | Term 
 
        | What is the use of non-functional testing? |  | Definition 
 
        |   
Non-functional testing tends to reflect the quality of the product. Particularly the suitability of the application from the point of view of the client.The non-functional testing of applications tends to look at the program as a whole.Two examples of non-functional testing are load tests and performance tests. |  | 
        |  | 
        
        | Term 
 
        | Define a load test and a performance test |  | Definition 
 
        |   
A load test investigates software behaviour during increasing system loads (for instance, the number of users that use a piece of software simultaneously). 
A performance test investigates the processing and response time for specific scenarios, usually associated with increasing load time.   |  | 
        |  | 
        
        | Term 
 
        | Here is what the Computer Science Specification says you must know (flip card).   |  | Definition 
 
        |     
Understand the need for rigorous testing of coded solutions.Understand the different types of tests that can be used, including unit/modular testing.Be able to create suitable test plans and carry out suitable testing to demonstrate their solutions work as intended.Be able to hand test simple code.Designs/algorithms using trace tables.     |  | 
        |  |