A. Black box testing plays an important role in rapid application development (RAD) environments
Software testing methods are generally divided into two kinds: white box test and black box test. White box testing, also known as structural testing, logic-driven testing, or testing based on the program itself, focuses on the internal structure and algorithms of the program, often without concern for functional and performance indicators. Black-Box testing, also known as functional testing, data-driven testing, or specification-based testing, is in fact the end user's position to verify that the input and output information and system performance indicators conform to the specifications for functional requirements and performance requirements.
With the development of the RAD environment, software engineering faces new challenges, including:
- The scale of application system is more and more large, the structure is more and more complex;
- More and more development team, more and more thin division of labor;
- Project investment is increasing, which leads to increased investment risk.
In such a context, software quality is facing a greater crisis, and the key to solve the problem is black box testing, but because the traditional black box testing is often limited to manual testing, with the experience of engineers spontaneously, the lack of strict testing management mechanism, so the effect is not obvious.
Before distributing an application system, without scientific and thorough black-box testing, it would be tantamount to delivering a large number of hidden defects (defect) to the end user, which would be irresponsible for the development team itself, the project investor and the end user, and would seriously undermine the interests of the three parties.
Today, the quality requirements of software are getting more and more attention, in the quality supervision of software, black box testing plays an important and irreplaceable role, and with the development of software development platform and software design thought, especially RAD technology, the black box test has been put forward more explicit requirements, people find that Must follow a certain test theory, rely on excellent testing tools, to carry out scientific and complete testing.
second, the operation of the black box test procedure
In the traditional software development life cycle, testing is often shelved to the end of the entire development process, that is, when the coding work of the application has been basically completed before the test begins, the disadvantage is:
A) as the application is large and complex, and the testing work is complicated, it is difficult for testers to organize scientific and comprehensive test cases, which greatly improves the testing cost and seriously affects the comprehensiveness and effectiveness of the test.
b) because the defects involved in the module from development to testing time interval between the longer, so that the programmer's modification and maintenance work to pay a greater price;
c) Because of the limited distribution date, testing is often done at the end of a busy period, leaving a large number of defects to the end user, that is, the actual test work is actually done by the end user.
Therefore, in order to ensure that the test work in a scientific, accurate, comprehensive, orderly, should take the side of the development side of the test strategy, so that the development work and test work in parallel, which is the saying of the "earlier test better" concept.
A complete set of tests should consist of five phases:
1. Test Plan
First, according to the user needs report on the functional requirements and performance indicators of the specification, define the corresponding test requirements report, that is, the highest standards of black box testing, all future testing will be around the test requirements to be carried out, in line with the test requirements of the application is qualified, the reverse is not qualified; Also should choose the test content appropriately, the reasonable arrangement test personnel, the test time and the test resources and so on.
2. Test design
The test requirements developed during the test planning phase are decomposed, refined into several executable test procedures, and the appropriate test cases are selected for each test process (the test case selection will directly affect the effectiveness of the test results).
3. Test development
Establish a reusable automated testing process.
4. Test execution
Perform the automated test process established during the test development phase and follow up the identified defects. Test execution is generally composed of unit test, combination test, integration test, System interlock and regression test and so on, the test personnel should be in a scientific and responsible manner, step by step test.
5. Test evaluation
Combined with the quantitative test coverage and defect tracking report, the quality of the application software and the development team's work progress and efficiency are comprehensively evaluated.
Obviously, black-box testing can only be carried out in strict accordance with the procedures to check the quality of the application. However, without the help of a good testing tool, simply by manual testing, will not only cost a lot of manpower, material and financial resources, but also a lot of testing work is difficult to achieve or even impossible to achieve.
comparison between manual test and automatic test
Manual testing does not guarantee the scientificity and rigor of black-box testing because:
- Testers should be responsible for a large number of documents, report formulation and collation work, will become powerless;
- By the software distribution date, development costs and personnel, resources, such as the constraints of various factors, difficult to conduct comprehensive testing;
- Regression testing can be extremely difficult if the time taken to correct a defect is quite long;
The lack of scientific and effective management means for the large number of defects found during the testing process has become ambiguous, and no one can provide accurate data to the decision-makers to measure the current work progress and efficiency.
Black box test