For nearly 3 months, and yet clearly the nature of their work is textbook black-box testing or white-box testing. Today, Internet search, then a cry Oh great - the original of his work are "gray-box testing (Gray-box testing)".



The following is a summary of " Testing times "The basic concept of testing: white box testing, black box testing gray box testing, valid and invalid use cases use case, boundary conditions, as well as testing equivalence class.



1. White box testing or white-box testing (White-box testing or glass-box testing) through the procedure for testing the source code instead of using the user interface. This type of testing need to code the internal code syntax found in the algorithm, overflow, path, conditions, or the defects of the error, and then to be amended.



2. The black-box testing or Black Box Testing (Black-box testing) through the use of the software or a software feature to rigorously test their staff by entering data and then output the results to see to understand how to work the software.



3. Gray box gray box testing or testing (Gray-box testing): gray box testing is the same as black-box testing to test through the user interface, but the testers have been aware of the software or a software program's source code is specific how to design, and even read some of the source code also. Therefore the test can be targeted to identify some of the conditions / functional testing. The significance of doing so is: If you know the product inside the product design and user interface through a deeper understanding, you will be able to more effectively and in-depth from the user interface to test its performance.

4. Effective Use Cases (Valid case), or enter the legitimate use case is called: those known to the software program can handle the test cases correctly. Generally refers to software, test case input. For example, in Microsoft Excel, the use of keyboard input "= 1 +1", to see the result is "2." Enter a valid use case is "= 1 +1."



5. Invalid use case (Invalid case was told not to enter the legitimate use case) or use-case error (error case): those who know the software program prior to processing the test case does not support. For example, in Microsoft Excel, the use of keyboard input "= a +1", to see the result is "# NAME?". Enter the "= a +1" is not only ineffective but also with patients with cases of error.

6. Boundary Conditions (Boundary Cases): around the boundary value of the test. Usually means that the maximum, minimum or software designed to handle the longest string and so on. For example, a software support the font size range: from 8-72. Then the boundary test cases should include: less than 8, equal to 8, equivalent to 72 and greater than 72.

7. Equivalence class (equivalent classes): equivalence class test case refers to the implementation if there is a lot more test cases will not find a new bug in the defect. Because, although the results of input and output are different, but they are through the same path of the software's source code. As long as source code is usually a procedure for dealing with a certain path is within the scope of all numerical values, then in addition to the boundary value, the value of the border all the values are outside the scope of the general categories are equivalent. Because if the software program to correctly handle a value, which means the program can correctly handle this within the scope of value addition to the border other than the value of any valid input. More than software we use the font size to illustrate. Software support is the size range: from 8-72. Well, between 8 and 72 of the font for all the support can be considered to be equivalence classes of test cases.



Black-box testing of software features include the following:
1. Functional Testing (Functionality Test): test software to verify whether it is normal in accordance with the design work.

2. Acceptability testing (Acceptance Test): test carried out in large-scale test before, dev of the most basic functions carried out by a simple test, first verify that the version of the function for the test is basically stable, must meet certain minimum requirements. For example, the procedure will not be easy to hang or crash.

3. User Interface Test (UI Test): analysis of software user interface design in line with user expectations or demands.

4. Ad hoc (explore or open) test: It is not a step-by-step in accordance with a formal test cases and to carry out, nor limited to these specific test cases. This test is to test the software in understanding the basis of the functional use of flexible and diverse imagination and creativity to simulate the user's needs to use the multiple functions of the software. Usually involves a lot of test cases or by more complex steps to use the software.

5. Boundary conditions test (Boundary Condition): is the value of the test around the border.

6. Performance Test (Performance Test): usually to verify the performance of software and systems in the normal environment conditions, it can re-use to meet the performance indicators. Or the implementation of the new version of the same tasks slower than the old version. Inspection system in general also run a program in memory will be lost when (memory leak).

7. Regression testing (Regression Test): validation fix a new fix will not cause the bug before the re-emergence. To verify not only repaired the defects appear to be subject to defects at the time of the original steps to re-test, but also likely to be affected to test all the features. Therefore should be encouraged for all regression test cases to automate.

8. Stress Test (Stress Test): It is usually to verify the performance of software in a variety of extreme environmental conditions and whether the system can work properly. For example, the minimum hard drive space or system memory conditions, repeat the verification process to open and save a huge file after 1000 will not collapse or death.

9. Configuration and installation tests (Configuration and Setup Test): verification software program in different hardware manufacturers, in different languages supported by the old and the new version of the platform, and the different ways software can be installed as expected correctly. For example, the English version of Microsoft Office 2003 installed on the Korean version of Windows Me on, and then verify that all functions are normal operation.

10. Compatibility Test (Comparability Test): verify that the function as expected with other components or the coordination of procedures. Compatibility often means that the co-ordination between the old and the new version, including the testing of products and other products compatible with the use of. For example, with a new version of the same product did not affect users with older versions to save the file, format, and other operating data.

11. International support of the test (International Sufficiency): authentication software in different countries or regions such as the platform can also be expected to run, but also can be designed in accordance with the respect and support the use of local common date, font, text that special format and so on. For example, using the English version of Windows XP and Microsoft Word can display a string of Arab? Arabic version of Windows XP and the Arab version of Microsoft Word can display a string of Arab? For instance, in the Japanese version of Microsoft Excel dialog box is displayed the correct Japanese translation? Once the implementation of international support for the testers to test often requires basically understand the language of national or regional demands and expectations of behavior is.

12. Localize language testing (Localization): To verify that all plans to release versions of software in different languages as expected to be correctly translated into local languages. Such tests typically include authentication menus, dialog boxes, error messages, help content and all user interface text will be able to show local characters correctly translated.