(1500 words) Choose three (3) software testing techniques. Describe the purpose
ID: 3555239 • Letter: #
Question
(1500 words)
Choose three (3) software testing techniques. Describe the purpose and capabilities of each, being sure
to explain their relative differences, similarities, shortcomings, and the degree to which they complement
one another.
Describe the forces that will shape the future development of these techniques. With these forces in mind,
what are the likely future features and functionality for each of the three (3) techniques you chose?
Will any one (1) or two (2) techniques become more dominant relative to the others?
Why or why not?
Explanation / Answer
THREE TESTING TECHNIQUES :
Black Box Testing
The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester is oblivious to the system architecture and does not have access to the source code. Typically, when performing a black box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.
DISADVANTAGES:
Limited Coverage since only a selected number of test scenarios are actually performed.
Inefficient testing, due to the fact that the tester only has limited knowledge about an application.
Blind Coverage, since the tester cannot target specific code segments or error prone areas.
White box testing
White box testing is the detailed investigation of internal logic and structure of the code. White box testing is also called glass testing or open box testing. In order to perform white box testing on an application, the tester needs to possess knowledge of the internal working of the code.
The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately.
DISADVANTAGES:
Due to the fact that a skilled tester is needed to perform white box testing, the costs are increased.
Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems as many paths will go untested.
It is difficult to maintain white box testing as the use of specialized tools like code analyzers and debugging tools are required.
Grey Box Testing
Grey Box testing is a technique to test the application with limited knowledge of the internal workings of an application. In software testing, the term the more you know the better carries a lot of weight when testing an application.
Mastering the domain of a system always gives the tester an edge over someone with limited domain knowledge. Unlike black box testing, where the tester only tests the application's user interface, in grey box testing, the tester has access to design documents and the database. Having this knowledge, the tester is able to better prepare test data and test scenarios when making the test plan.
DISADVANTAGES:
Since the access to source code is not available, the ability to go over the code and test coverage is limited.
The tests can be redundant if the software designer has already run a test case.
Testing every possible input stream is unrealistic because it would take an unreasonable amount of time; therefore, many program paths will go untested
DIFFERENCES :
Black Box vs Grey Box vs White Box
Gray-box testing takes the straight-forward approach of black-box testing, but also employs some limited knowledge of the inner workings of the application. Therefore, a tester can verify both the output of the user interface and also the process that leads to that user interface output. Gray-box testing can be applied to most testing phases, however it is mostly used in integration testing.
The advantages of using gray-box testing are obvious, it combines the strengths of both black and white testing, it's non-intrusive, as testers don't have access to the entire code, testers can author better test cases due to the extra knowledge of the application and more. However, gray-box testing inherits some of the disadvantages of black and white box testing methods, such as: the fact that it can only achieve partial code coverage and it requires better trained testers.
Overall, gray-box testing has become a popular testing method, and some testers don't even realize that they use it, as even the most untrained tester can pick up on tips and tricks about the inner workings of applications, given enough experience. So the process of upgrading from black-box testing to gray-box testing is a natural one, its speed depending only on the determination of the tester, and on the characteristics of the development process.
More precisely: if the process is based on the effectiveness of the black-box testing, as a "non-biased" and "agnostic" method, then gray-box testing will work against that. But if the development process tries to accumulate the benefits of both black-box and gray-box (for example, some of the members of the testing team can use exclusively black-box testing, while others are also allowed to rely on white-box), then gray-box testing is also a good option.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.