[Recommended recommended] Software test starts from scratch (China Software Test Community)

xiaoxiao2021-03-06  47

Software test starts from scratch

【Abstract】 This paper gives advice and methods for the preparation of software testing, preparation, test demand collection, test case design, test case, and test results. In view of the state of domestic software development, test irregular status, this paper provides a number of software testing points for software testing. [Key words] software test, test case, test demand, test results Incident, a few years ago, after graduating from school, the first job is software testing. At that time, most domestic software companies have no concepts of software testing. In addition to the "computer software test technology" prepared by Zheng Renjie, in the bookstore, there is almost no other software test related books, software tests are only in software engineering materials. As a chapter, I don't know anything about software testing. However, before officially embarrassed a job, the company provides a two-week system software test technology special training, which has great guiding significance for the next software testing. Now, I will continue to engage in software testing training and consulting services. In this process, I have witnessed a lot of software testing newcomers. They have initiated software testing industries. I have no systematic training, I don't know anything about software testing. I don't know what this test is, I don't know how to start testing. The following is actions to give a number of solutions. • Test preparation work in the test work, software test engineers should engage in the purpose of software testing. If you give this question to the project manager, he often answers like this: "All bugs in our products are found, this is your work." As a software test, how can I find all the bugs? How to start testing? Even if you face a small software project, the problem that needs to be considered is also square, including hardware environments, operating systems, software configuration environments, product-related business processes, user concurrency capacity, and more. Where do you start? • Learn to experienced testers If you enter a work-standard software company, there are independent software testing departments, standard software test processes, software test technology has certain accumulation, then, congratulations! You can ask the test manager to delegate an experienced tester as your business tutor, listed in the software test technology related book catalog, software test process related document directories, product services related document directory, under the guidance of business tutors Gradually familiarize yourself with the work of software testing. In fact, in many ways of working standardized software, the above-mentioned masters have been cured into the process. If you enter a software test, a blank software company, then congratulations! You can create a software testing business here, of course, the premise is that the boss does recognize the importance of software testing, and it is really necessary to improve the quality of the product. At this time, you can find software test resources on the domestic software test forums and related websites. In this case, self-study ability and the understanding of technology are crucial.

• Related books related to the software test Now, the Chinese version of the software test book is more and more, some are written by the Chinese, and some are translating foreign classics. You can find the software test-related books to http://www.chinapub.com/ or http://www.dangdang.com/. At present, there are many classics from the software test books introduced abroad, but after translation into Chinese, the translation quality has a great impact on the reading effect. • Problem reports in the defect tracking library If your company already has a software defect tracking library, this is not related to the use of commercial tools, such as ClearQuest, TestDirecter, or use of Bugzilla, Mantis and other open source tools, this is not related It is valuable to the defect report order in the defect tracking library. The problem report in the defect tracking library is a centralized reflection of software test engineers, and is also a centralized reflection of software product issues. In general, several of the most critical portions in the defect report include: the first part is an environment that discovers defects, including software environment, hardware environment, etc .; the second part is the basic description of defects; the third part is the developer's defective Solution. Through the three parts of the above defect report, you have absorbed the work experience of other software testers and master the basic problems of software products. This is a good way to quickly improve software test experience. • Historical Test cases of related products If your company has a test case management system, then the software test case of reading related products is a shortcut to quickly improve the design level of test cases. There is also a skill. Test case writing generally includes test case items and test cases refined according to test case items, which are illustrated below. "Test user login function" is a test item, the purpose of the test item is to test if the user login function is correct, whether it is possible to complete the normal login function, whether it is possible to do abnormal username and password. Therefore, according to this use case, several test cases can be designed, in most cases, test case items and test cases are a pair of relationships. By reading the test case project, you can master which functions should start the future test work; by reading the software test case, you can learn how to carry out the design of software test cases based on the test function, including how to determine the test case. Input, the operation step of the test case and the output result of the test case, etc. In short, the excellent software test case designed to take other software testers is a good way to improve the design level of your own use case. • Learning product related business knowledge software testers must not only master software testing technology related knowledge, but also learn about product related business knowledge. This is very understood, if you engage in finance software testing, you must learn financial knowledge; if you engage in communication product testing, the relevant newsletter knowledge is also necessary; if you engage in bank software testing, the bank's business process is not Lack of knowledge points. Therefore, while learning software testing techniques, don't ignore the learning of product related business knowledge. If you are a software test technology expert, but you can only test the pure software defect, and facing the defects related to product business in front of you, it is likely to be invisible, so The effect of software test will be greatly reduced. • Identifying test requirements Identification test demand is the first step in software testing. If the developer can provide a complete demand document and interface document, it is good. Test cases can be designed based on the input, processing procedures, and output of each function item described in the Demand Document.

If the developer does not provide a software demand document, how is it? The following gives a few effective methods: • Active access to demand developers will not better consider software testing. If there is no development process, they usually do not want to provide any development documents, even if there are mandatory regulations, demand documents It is also not necessary to truly guide the software system testing. Therefore, testers need to play subjective initiative, maintain communication with relevant software development project managers and software developers, and understand what the main functionality of software implementation is, and records the collected information. In general, developers will also save some simple process documents even if they do not provide relevant demand documents, and actively ask developers to ask for reference. In addition, it is possible to communicate with the company's technical support personnel. Technical support personnel are the most close to the user, so by communication can obtain the user's use of the first hand, it will be closer to the user in the process of testing. What are the needs of the relevant information? How to communicate with developers? In fact, as long as you grasp a few key points of the needs analysis, you can solve the problem: input, processing, output, output, performance requirements, operational environments, the following analysis: Software Enter: All possible inputs related to this requirement, From these aspects, enter the source, the number of input parameters, the measurement of the input parameter, the input parameter time requirements, the accuracy of the input parameters, and the efficient input range of the input parameters. In the test case design, this part of the content is the basis for the test case input. Processing process: Describe all operations performed on the input data and how to obtain the output. The tester understands the process of processing, and when it is discovered during the test, it is helpful for the root of the positioning problem. Software Output: Describe the output result of each requirement, including the output location (such as computer display, printer, file), output parameter, output parameter metric, output parameter timing, output parameter accuracy, output parameters Output range, error message. In the test case design, this part of the content is the expected output of the test case. Performance requirements: Performance requirements associated with this demand, such as "After inserting the ATM withdrawal card, the graphical interface" of the prompt user withdrawal is popped upon 3 seconds. " 3 seconds this limit is the basic performance requirements for demand. Operating environment: The environment required for software, including the requirements of the hardware platform, the operating system requirements, the requirements of the database, and other related support software requirements. • The priority of the priority needs of the need is necessary. If the test personnel can consider prioritizing the high-priority demand item, if the progress is allowed, then low in the test priority Demand items, if the progress is not allowed, then give up the test priority to low demand items. If the software company has a standard process support, the developer should determine the priority of the demand in the document when providing the software requirements documentation. However, if the developer even the basic software demand document is not available, how can we expect them to determine the priority of software requirements? If so, the priority of the demand can only be done by the tester. • Email group testers joining the development team need to be tested products, but the product is often changing in development. If the software development team has a change control process, the tester will change the product. If there is no change control, it is necessary to use other earthwork. If there is an automated office system in the company, it may be the Lotus Notes system, perhaps the E-mail system, the tester should join the developer's mail group.

When the developer discusses questions through an email, the test personnel can be aware of the development of the developer if necessary, can participate in the technical conference of the developer if necessary. Even if there is a software change control process in the company, it is also a good habit to joining the mail group. Reading software tests Related books Now, Chinese version of software test books are increasing, some are written by Chinese, some are translating foreign classics. You can find the software test-related books to http://www.chinapub.com/ or http://www.dangdang.com/. At present, there are many classics from the software test books introduced abroad, but after translation into Chinese, the translation quality has a great impact on the reading effect. • Problem reports in the defect tracking library If your company already has a software defect tracking library, this is not related to the use of commercial tools, such as ClearQuest, TestDirecter, or use of Bugzilla, Mantis and other open source tools, this is not related It is valuable to the defect report order in the defect tracking library. The problem report in the defect tracking library is a centralized reflection of software test engineers, and is also a centralized reflection of software product issues. In general, several of the most critical portions in the defect report include: the first part is an environment that discovers defects, including software environment, hardware environment, etc .; the second part is the basic description of defects; the third part is the developer's defective Solution. Through the three parts of the above defect report, you have absorbed the work experience of other software testers and master the basic problems of software products. This is a good way to quickly improve software test experience. • Historical Test cases of related products If your company has a test case management system, then the software test case of reading related products is a shortcut to quickly improve the design level of test cases. There is also a skill. Test case writing generally includes test case items and test cases refined according to test case items, which are illustrated below. "Test user login function" is a test item, the purpose of the test item is to test if the user login function is correct, whether it is possible to complete the normal login function, whether it is possible to do abnormal username and password. Therefore, according to this use case, several test cases can be designed, in most cases, test case items and test cases are a pair of relationships. By reading the test case project, you can master which functions should start the future test work; by reading the software test case, you can learn how to carry out the design of software test cases based on the test function, including how to determine the test case. Input, the operation step of the test case and the output result of the test case, etc. In short, the excellent software test case designed to take other software testers is a good way to improve the design level of your own use case. • Learning product related business knowledge software testers must not only master software testing technology related knowledge, but also learn about product related business knowledge. This is very understood, if you engage in finance software testing, you must learn financial knowledge; if you engage in communication product testing, the relevant newsletter knowledge is also necessary; if you engage in bank software testing, the bank's business process is not Lack of knowledge points. Therefore, while learning software testing techniques, don't ignore the learning of product related business knowledge. If you are a software test technology expert, but you can only test the pure software defect, and facing the defects related to product business in front of you, it is likely to be invisible, so The effect of software test will be greatly reduced. • Identifying test requirements Identification test demand is the first step in software testing. If the developer can provide a complete demand document and interface document, it is good.

Test cases can be designed based on the input, processing procedures, and output of each function item described in the Demand Document. If the developer does not provide a software demand document, how is it? The following gives a few effective methods: • Active access to demand developers will not better consider software testing. If there is no development process, they usually do not want to provide any development documents, even if there are mandatory regulations, demand documents It is also not necessary to truly guide the software system testing. Therefore, testers need to play subjective initiative, maintain communication with relevant software development project managers and software developers, and understand what the main functionality of software implementation is, and records the collected information. In general, developers will also save some simple process documents even if they do not provide relevant demand documents, and actively ask developers to ask for reference. In addition, it is possible to communicate with the company's technical support personnel. Technical support personnel are the most close to the user, so by communication can obtain the user's use of the first hand, it will be closer to the user in the process of testing. What are the needs of the relevant information? How to communicate with developers? In fact, as long as you grasp a few key points of the needs analysis, you can solve the problem: input, processing, output, output, performance requirements, operational environments, the following analysis: Software Enter: All possible inputs related to this requirement, From these aspects, enter the source, the number of input parameters, the measurement of the input parameter, the input parameter time requirements, the accuracy of the input parameters, and the efficient input range of the input parameters. In the test case design, this part of the content is the basis for the test case input. Processing process: Describe all operations performed on the input data and how to obtain the output. The tester understands the process of processing, and when it is discovered during the test, it is helpful for the root of the positioning problem. Software Output: Describe the output result of each requirement, including the output location (such as computer display, printer, file), output parameter, output parameter metric, output parameter timing, output parameter accuracy, output parameters Output range, error message. In the test case design, this part of the content is the expected output of the test case. Performance requirements: Performance requirements associated with this demand, such as "After inserting the ATM withdrawal card, the graphical interface" of the prompt user withdrawal is popped upon 3 seconds. " 3 seconds this limit is the basic performance requirements for demand. Operating environment: The environment required for software, including the requirements of the hardware platform, the operating system requirements, the requirements of the database, and other related support software requirements. • The priority of the priority needs of the need is necessary. If the test personnel can consider prioritizing the high-priority demand item, if the progress is allowed, then low in the test priority Demand items, if the progress is not allowed, then give up the test priority to low demand items. If the software company has a standard process support, the developer should determine the priority of the demand in the document when providing the software requirements documentation. However, if the developer even the basic software demand document is not available, how can we expect them to determine the priority of software requirements? If so, the priority of the demand can only be done by the tester. • Email group testers joining the development team need to be tested products, but the product is often changing in development. If the software development team has a change control process, the tester will change the product. If there is no change control, it is necessary to use other earthwork.

If there is an automated office system in the company, it may be the Lotus Notes system, perhaps the E-mail system, the tester should join the developer's mail group. When the developer discusses questions through an email, the test personnel can be aware of the development of the developer if necessary, can participate in the technical conference of the developer if necessary. Even if there is a software change control process in the company, it is also a good habit to joining the mail group. • It is adjacent to developers for neighboring recommendations. My test group once and the development group were in the adjacent writing interverses, the relationship between developers and testers was very harmonious, throwing them into colleagues, everyone is still a good friend. Regardless of the activities of developers, testers can get information in the first time. Whether engaged in software testing, it is also engaged in other work, and the work of colleagues in the work in the work is very good. There are department walls in the general company, and good interpersonal relationship is one of the means of playing the wall. It is necessary to recommend testers and developers to the leadership. • The test case design test requires the test design. What is the test case? The test case is a document, describing input, action, or time and a desired result, its purpose is to determine if an application is working properly. Design test cases need to consider the following questions: • The basic elements of the basic format software test case of test cases include test case numbers, test titles, important levels, test inputs, operational steps, expected results, hereby introduced one by one. Sample number: The number of the test case has a certain rule, such as the number of the system test case, which defines the rule: Project1-ST-001, the naming rule is the project name test phase type (system test phase) number. Define test case numbers to facilitate finding test cases to facilitate tracking of test cases. Test Title: Description of test cases, test case titles should clearly express the use of test cases. For example, when testing an error password when the user logs in, the software response is used. Important level: Define the priority level of test cases, which can be divided into two levels of "high" and "low". In general, if the priority of the software needs is "high", the test case priority for this requirement is also "high"; vice versa, test input: Provide various input conditions in test execution. Determine the input of the test case based on the input conditions in the demand. The input of the test case has great dependence on the input of the software requirements. If there is no good definition of the input of the demand in the software requirements, then a large obstacle is encountered in the test case design. Procedure: Provide steps to test the test execution process. For complex test cases, the input of test cases requires several steps, which are listed in detail in operation steps. Expected Result: Provides the expected results of the test implementation, the expected result should be derived based on the output in the software requirements. If during the actual test, the actual test results are inconsistent with the expected results, then the test does not pass;

转载请注明原文地址:https://www.9cbs.com/read-51591.html

New Post(0)