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.
|
|
|