Testing Flashcards
What 2 things does testing ensure?
That the program works correctly without error
That the program meets the needs of the user
What is a test plan?
A test plan is a formal document which details the tests to be performed on the software
What 5 things does a test plan describe?
The scope of the testing The tests to be performed The reason for each test The data to be used in tests The expected outcome of each test
What are the 3 types of test data?
Normal-use data
Borderline data
Invalid data
What is normal-use data?
Data that is expected to be entered into the application
What is borderline data?
Testing the boundary of acceptable data. Borderline data is still acceptable and it will be processed in the same way as normal data
Give an example of borderline data
The user is asked to enter a username with between 1 and 10 characters. The borderline test data would be a username with 1 character and a username with 10 characters
What is invalid data?
Data that the program rejects as invalid
Give 3 reasons why a program reject data?
It is the wrong data type
It contains characters that are not allowed
The value falls outside the accepted parameters of the program
Give an example of invalid data
If the user is asked to enter a username with between 1 and 10 characters, invalid test data would be a blank username, or a username with 13 characters
What is black box testing?
The testers ignore how the program itself works in terms of code. They simply enter inputs and check if the outputs match their expectations
What is an advantage with black box testing?
The person carrying out the test doesn’t need to know anything about the software, this makes finding it a lot easier to find testers
What is a disadvantage with black box testing?
If the test fails, the tester doesn’t know why it failed
What is white box testing?
Looks into the details of every algorithm in the software, and tries to test every possible path through that bit of code to ensures that it works correctly every time
What is an advantage of white box testing?
If a test fails, you can quickly pinpoint exactly where the problem is and fix it
What is a disadvantage with white box testing?
It can take a long time to run through all of the test data
State 2 things about a successful test for black box testing
Fast and easy for the tester
No wasted time, the test is completed and the tester can move onto the next one in the plan
State 3 things about a successful test for white box testing
Much slower to complete tests compared to black box testing
Some tests can be complicated and require knowledgeable testers
You get a detailed record of the correct data
State 1 thing about a failed test for black box testing
Provides no insight into why the test failed, unless you can work out a pattern from which test data led to failures and which to successes
State 1 thing about a failed test for white box testing
By looking at the trace tables, you can see exactly where the failure occurred and quickly fix it
What is a trace table?
A technique used to test algorithms, in order to make sure that no logical errors occur whilst the algorithm is being processed
What is iterative testing?
When, during program development, the programmer will write a portion of their code. They will then test the code they have just written to check that it is working as expected before moving onto developing the next part, and testing again
What 2 types of errors are iterative testing looking for?
Syntax errors - mistakes in the grammar of the coding language
Logic errors - mistakes in the algorithms or logic flow of the program
What testing method is used during iterative testing?
White box testing
What is final testing?
Final testing is done after the project is thought to be complete
What testing method is used during final testing?
Black box testing
What are the 2 stages of final testing?
Alpha
Beta
What is alpha testing?
When the software is released for use by in-house test engineers. They try their best to break it by doing unexpected things to it
What is beta testing?
Where the software is released to a select group of hired or volunteer testers, unconnected to the development process to date. These “beta testers” use the program as intended and under realistic conditions.