Whilst a program is being developed and before it is released, it is important that you ensure your code is functioning correctly. This part of the development process is known as testing and takes a number of forms during development.
There are a number of different types of testing that you may need to undertake to ensure that your code is bug free:
- Black Box
- White Box
- User Acceptance
During development, you will need to ensure that your code does not have any syntax or logic errors. Most of these can be found by simply running your code as you write the syntax. However, not all are as obvious, so you can help this process by testing your code thoroughly when you think that you have solved the problem.
Generally, programmers will use a test table to record the evidence that they have tested a program. These use formal titles and are used by professional developers, known as a Test Log to help identify bugs in programs.
In these test tables, test data is divided into three main types: Standard (data is correct), Erroneous / Incorrect (data is incorrect and would cause an error if not validated), Extreme / Boundary (data is correct, but just inside a range check).
Bete testing encourages a small section of early users to try out the system before it is officially released. This encourages interest in the new system, but also allows users to identify any bugs that the programmers haven’t caught yet. As part of a beta program, users are often given free or early access in exchange for bug reports.
User Acceptance Testing
When you create a product for a client, you will have a set of project requirements. This is a list of agreed functions that your program will perform in order for the project to be a success. User acceptance testing is where the client tests your final product to ensure that it meets the agreed criteria.
It is important to mention that this testing is not whether the client is happy with the product (although that helps!), but if the product meets the agreed success criteria.