White Box Tests are not a type of test, but a testing strategy, and are primarily the development team's job -- although in some shops QA test engineers have started helping by generating data for unit test cases, etc.
Some White Box Tests that can be commissioned are:
- Static [Code] Analysis:
- The development team goes through the code line by line in the IDE or as a print out, in order to find any glaring defects.
This is only a very prelimary "test".
- Dynamic Analysis:
- The code is executed and the output is analyzed.
- Unit Testing:
- The developer (should rarely/never be done by test engineers) carries out unit tests within his/her individual development environment, while developing the code.
Due to his knowledge of the method, he can design user tests that test the method correctly.
- Code Coverage:
- A measure of the degree to which the code is covered by the test case suite's unit tests.
- Branch Coverage Testing:
- Branch coverage testing helps validating all the code branches, making sure that no branching leads to abnormal behavior of the application.
- Security Testing Testing:
- Security Testing is carried out in order to find out how well the system can protect itself from unauthorized access, hacking – cracking, any code damage etc. which deals with the code of application.
- Note: this type of testing needs sophisticated testing techniques.
- Mutation Testing:
- The software is tested for the code that was modified after fixing a particular bug/defect.
It also helps in finding out which code and which strategy of coding can help in developing the functionality effectively.
White Box Tests are not a type of test, but a testing strategy, and are primarily the development team's job -- although in some shops QA test engineers have started helping by generating data for unit test cases, etc.
Some White Box Tests that can be commissioned are:
- Static [Code] Analysis:
- The development team goes through the code line by line in the IDE or as a print out, in order to find any glaring defects.
This is only a very prelimary "test".
- Dynamic Analysis:
- The code is executed and the output is analyzed.
- Unit Testing:
- The developer (should rarely/never be done by test engineers) carries out unit tests within his/her individual development environment, while developing the code.
Due to his knowledge of the method, he can design user tests that test the method correctly.
- Code Coverage:
- A measure of the degree to which the code is covered by the test case suite's unit tests.
- Branch Coverage Testing:
- Branch coverage testing helps validating all the code branches, making sure that no branching leads to abnormal behavior of the application.
- Security Testing Testing:
- Security Testing is carried out in order to find out how well the system can protect itself from unauthorized access, hacking – cracking, any code damage etc. which deals with the code of application.
- Note: this type of testing needs sophisticated testing techniques.
- Mutation Testing:
- The software is tested for the code that was modified after fixing a particular bug/defect.
It also helps in finding out which code and which strategy of coding can help in developing the functionality effectively.