8 Software Test Learning experience

Source: Internet
Author: User

The importance of software testing throughout the software cycle, which exists throughout the project cycle, begins at the beginning of the project's requirements survey, and is required to be tested for documentation when the requirements specification is formed. This link in the follow-up of the whole project accounted for a large proportion, can dominate the whole project, success or failure is all in the beginning of the decision.

Experience One: The real meaning of software testing is to find errors, not to verify that the software is correct.

Rigorous testing can not fully detect all the errors in the software, but the test can still find most of the errors, to ensure that the software is basically available, so in the subsequent use of the process also need to strengthen the fast response link. Combined with the theory of software testing, the fault is exposed to the final client in time and proactively to find and solve it. This need to strengthen the construction of research and development teams.

Experience two: In the system performance testing needs attention.

Through the training of a number of cases to explain, let me know that the system will have a lot of unpredictable performance problems after the launch, need to be implemented before the launch of simulation to avoid risk, including large data access, high concurrency and so on.

Of course there are a lot of coping means, no means can be called the most perfect, only the most suitable, need to be flexible, integrated use to achieve optimal degree, this is a very worthy of research field.

Before designing effective test cases, test engineers must understand the basic principles of software testing, including:

1, all testing should be traced back to the user's needs. As we know: The goal of software testing is to uncover errors. The most serious errors (from the user's point of view) are those that cause the program to fail to meet the requirements.
2. Test plan should be carried out in a long time before the test work is really started. The test plan can begin as soon as the requirement model is complete, and a detailed test case definition can begin as soon as the design model is determined. Therefore, all tests should be planned and designed before any code is generated.
3, the Pareto principle applies to the software test. Simply put, the Pareto principle implies that 80 of the errors found in the test are likely to originate from 20 in the program module. The problem, of course, is how to isolate these questionable modules and test them thoroughly.
4, the test should start from "small-scale", gradually turn to "large-scale". The initial test usually focuses on a single program module, and the focus of further testing shifts to finding errors in the Integrated module cluster, and finally looking for errors throughout the system.
5, in order to achieve the best results, should be independent of the third party to construct the test. "Best effort" means the test that is most likely to find errors (the primary goal of the test), so the software engineer who created the system is not the best person to construct the software test.
6. Inadequate testing is irresponsible; excessive testing is a waste of resources, but also an irresponsible performance.


There is the classification of software testing: From the point of view of whether the software to be tested, can be divided into:-Static testing-Dynamic testing
From the perspective of whether the test is for the internal structure of the system and the specific implementation algorithm, it can be divided into:-White box test-black box test


About static and dynamic tests

(1) Static testing refers to the process of not actually running the software under test, but simply checking the program code, interface, or errors that may exist in the document.   includes 3 aspects of code testing, interface testing, and document testing. For code testing, the main test code conforms to the appropriate standards and specifications. For interface testing, the actual interface of the main test software is consistent with the instructions in the requirements. For document testing, the main test is whether the user manuals and requirements specifications meet the user's actual requirements.   (2) Dynamic testing refers to the process of actually running the tested program, inputting the corresponding test data, and checking the actual output results and the expected results. So, we judge whether a test is a dynamic or a static test  , and the only standard is to see if the program is running.     about black box test and white Box test  :  (1) black box test   refers to the software being tested as a black box, we do not care about the structure inside the box, only concerned about the software input data and output results.   Black box test method is to test on the program interface, mainly to find the following error:    whether there is an incorrect or missing function?     on the interface, the input can be correctly accepted?  Can I output the correct result?     whether there is a data structure error or an external information (such as a data file) Access error?    performance can meet the requirements?     Whether there are initialization or termination errors?     The black box test finds errors in the program, you must determine the test data in all possible input conditions and output conditions to check whether the program produces the correct output.   But that's not possible.   test case design of black box test   equivalent partition method   boundary value method   error inference   causal graph method   (2) White box test      refers to opening the lid of a box, To study the source code and program structure inside.  

(2) White box testing is also known as structural testing or logic-driven testing, it is aware of the internal work process, can be tested to determine whether the internal action of the product according to the specification of the normal, according to the procedures within the structure of the test procedures, inspection procedures in each of the channels are able to work according to the predetermined requirements, Regardless of its function. The use of information inside the unit under test allows testers to design and select test cases for the internal logical structure of the program and to test the logical path of the program. Based on an internal logic knowledge of an application code, the test is based on overwriting all code, branches, paths, and conditions.

The main methods of white box testing:

• Logic-driven testing

• Basic Path testing

Mainly used for software validation.   Use the program-designed control structure to export test cases. Logic-driven testing: Tests that are primarily test coverage, based on the inherent logical structure of the program.

The following 6 types are included: • Statement overlay • Judgment Overlay • Conditional override • Decision-Conditional override • Conditional combination override • Path overlay

The main purpose of white box testing • Ensure that all independent paths in a module are executed at least once; • All logical values need to be tested for true, false two branches; • Run all loops in the upper and lower bounds and within the operational range; • Checking internal data structures to ensure that their effectiveness testing is an important part of the software development process is Identify whether the quality or performance of a program meets the requirements of the prior development. The purpose of software testing, the first is to confirm the quality of the software, on the one hand is to confirm that the software did what you expect (do the right thing), on the other hand is to verify that the software in the correct way to do this event (do it), and the second is to provide information, such as providing feedback to developers or program managers, information prepared for risk assessment, and the third software test is not only testing the SOFTWARE product itself, but also includes the process of software development.  If a software product development is completed and a number of problems are found, this indicates that the software development process is likely to be flawed. After this course of study and the teacher's lecture to us, realize that the test is not what I imagined the use of software products from the customer's point of view, so as to find that there is no quality problem, it has its theoretical and practical system.

8 Software Test Learning experience

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.