Title: English Wikipedia has few articles on design techniques from category white box testing. German Wikipedia has more articles on this type
Short title: The importance of white box testing articles
First Author: Erkan Yilmaz
goal of this article:
To show the need for more white box testing articles in Wikipedia and/or other Wiki projects.
This is not created as a complete paper, since its aim is to attract more people to help in writing more good quality articles in this specific area.
Usually one cannot test everything in a given software, because of limitations in resources. Software testings should be structured and prioritized. Testing can be grouped into different phases (e.g. see ISTQB syllabus, which is publically available):
Test planning and test control,
Test analysis and test design,
Test implementation and test execution,
Evaluating exit criteria and reporting,
Test closure activities.
Classification of design techniques:
For designing test cases (please consider that a test case consists of preconditions, inputs, expected results, postconditions and instructions how to execute the tests) there are also methods, how to create test cases. This is important, so from all possible test cases there can be selected that testcases which help to find the most critical anomalies as soon as possible. These methods/techniques are summarized in general into:
white box and
Black box design techniques bear this name, because the interior of the system during testing is not seen. And so it appears like a black box, where the system produces result(s) for input(s). How the process was done, normally is not given consideration. Since black box testing (also called behavioral testing) alone is not sufficient for testing (e.g. not all paths of source code can be executed, because e.g. the source code is not available), white box testing also has a major role in testing.
For white box testing there is more information available from the interior, e.g. test cases can be created because the structure of the system can be seen. So, here it is also important, whether or not the process worked correctly. For example an expected result in black box testing can also be achieved by a wrong process - so the tester would not find the anomaly here (soon enough).
But of course the perspective is also important: when testing a component, from viewpoint of the complete system, this is a white box test, because we test one part from the interior of the system. However from viewpoint of the component itself, this can be a black box test, if there is no knowledge about the interior of the component itself. And there are also some testing types, which can not be clearly classified into black box or white box (see here for more info)
Of course this grouping into black box, white box, grey box is not a standard for everything, since e.g. other authors also add other kind of boxes: e.g. M. Goeschl and H. M. Sneed tell in: A Case Study of Testing a Distributed Internet-System, page 3:
Acceptance testing, often referred to as Red-Box testing. [Hetzel88]
(they mention as source: Hetzel, Bill: The Complete Guide to Software Testing, QED Information Sciences, Wellesley, Mass. 1988, page 73)
Another view point to be considered is, that different techniques should be combined, so testing is more effective, since every technique has its dis-/advantages.
observed result in Wikipedia:
At the moment none of the well-known white box design techniques is created in English Wikipedia, but in German Wikipedia nearly all of them are available (to a certain extent):
- statement coverage German, English
- branch coverage English, German
- simple condition coverage German
- modified condition decision coverage or minimal multicondition coverage German
- multiple condition coverage German
- path coverage German
So here is definitely action needed to create more, better articles in this area.
- BCS SIGIST (British Computer Society Specialist Interest Group in Software Testing): Standard for Software Component Testing, Working Draft 3.4, 27. April 2001.
- English Wikipedia: white box testing
- German Wikipedia: white box testing
- German Wikiversity: Software-Test
- English Wikiversity: software testing