Software testing practice experience summary of Microsoft technical experts Chapter 7 research products reading notes

Posted by Keating Steensen on February 8th, 2021

the alleged exceptional testing isn't to make use of the most cutting-edge and advanced testing technology, but to find the appropriate testing method based on the actual situation of services and products and projects. This week, we will discuss just how to study the product from the perspective of testing in order to develop a testing strategy based on the context of the project. 7. 1 static analysis for testers, reading the code may help them better understand the merchandise implementation and code changes, to be able to generate better testing some ideas. This section discusses common applications of static analysis in testing activities and introduces some basic techniques. 7. - 1 look at source code to understand the merchandise implementation a fair strategy is to look at source code tree, understand the directory structure, module division, code distribution and other basic information of the foundation code, after which read a few of the source code to know the coding specification, architecture design, code implementation and other technical details. As time goes on work, testers can see the relevant code in line with the specific test task. The basic techniques are the following: before reading, you ought to determine the reading goal, but don't stick to the predetermined goal when reading; through the directory identification module; through the module to comprehend the composition and structure of the product, know the function of every the main code; with the help of internet search engine to know the relevant technology; while reading, take notes; the fundamental methods are the following You need to use script to investigate the foundation code tree. The script analyzes most of the files in the present directory and subdirectories, the file name, the directory where the file is and how many file lines. How many lines of code is the simplest generationCode measurement can't provide rich semantic information, but it is a good entry way for analysis. The following experience could be gained from the above mentioned steps of code measurement: - Code measurement provides an summary of a particular part of the code, which can help readers start to see the whole situation. 2. Simple code measurement is simple to implement, without needing syntax analysis, only using text analysis can offer some helpful information. 3. With appropriate tools to evaluate data, data could be quickly calculated and displayed, which improves the efficiency of data analysis. 4. Code metrics only provide clues for code reading, and additional reading of the foundation code continues to be needed to get yourself a more thorough understanding. From the procedure of code reading, it's not difficult to extract some basic practice of code reading: - Readers read for a particular topic, to promote code understanding from indicate area. 2. For several code, readers need to understand their functions and usage from the perspective of external code, and evaluate their contribution to the complete product. 3. For several codes, readers have to understand their implementation techniques, like the design used, the technology used, and other codes they rely on. 4. Understanding the fundamental familiarity with language features, idiomatic design and naming rules can help reading. five. There's absolutely no fixed reading order for code reading. six. In the act of reading, the reader will produce some some ideas, so they must be recorded and recordedRead more code to validate these a few ideas for a deeper understanding. 7. 1 ) 2 analyze the foundation code to help test design to be able to test effectively, testers need to read the code to understand the impact of changes and stimulate test some ideas. Impact analysis is a common approach to code analysis, which aims to investigate which code is afflicted with and which code will be affected. Two aspects should be paid attention to: which codes will affect the modified codes? Where does the input data of the modified code come from? How exactly to construct a test case for program execution to cover the modified code? Just how to construct test cases to test the state of the modified code? Can test cases be constructed to make the modified code error? What code will be afflicted with the modified code? Where does the output data flow from the modified code? How to observe the output of the modified code? Just how to construct test cases to try the affected code comprehensively? Can the code under test generate "exception" output data and make the affected code send errors? In order to identify the influence between codes, testers need to implement control flow analysis and data flow analysis in the process of reading codes. Control flow analysis checks perhaps the execution of statement a affects the execution of statement B; data flow analysis checks perhaps the data assigned by statement a can be used by statement B; global variables are objects that want special attention, and they're frequently read and compiled by multiple functions of software, that'll widely affect the control flow and data flow of computer software. Pollution propagation analysis can be a simple methodCode analysis method predicated on control flow and data flow. It's the foundation of some static code checking tools. The core metaphor of pollution propagation is pollution and propagation. Pollution refers to the contaminated data, the origin which is generally the offensive input containing malicious data. Propagation refers to the failure of the application to filter the contaminated data, in order that malicious data could be spread in the program and finally result in pc software failure. You can consider the next reading techniques: mark the access point of the application, that is, to get the code for external input; analyze the information flow with the entry point as the source, to find the check code of input; mark the exit point of the program, that is, to obtain the code of output data; analyze the info flow with the exit as the end, to get the code to clean up and format data before output. According to the concept of pollution propagation, testers can consider the next code reading strategies: browse the code of synchronization tool and database and construct test cases; read the code of server and construct test cases; read the code of client and construct test cases. 7. 1 ) 3 black box testing just isn't predicated on ignorance. reading source code is still an important and necessary testing activity. The key reasons are the following: First, since the software is very complex, no method can acquire complete product information, so testers should study the software from multiple perspectives and use a selection of way to investigate the quality of products. Second, source code may be the most critical document of pc software products, providing a whole lot of irreplaceable product information. Thirdly, the research of product implementation can help to avoid testingThe defects of the trial design. Fourth, it isn't difficult to lessen the danger of code reading. Code reading is an crucial technical investigation method, which can provide some ideas and feedback for test design. It could be used together with other test techniques to help testers complete test tasks more effectively. 7. 2 dynamic analysis dynamic analysis can be an activity to examine product realization by running computer software. 7. 2. 1 using tools to analyze product behavior reasonable usage of debugging and diagnostic tools can enhance the efficiency of technical investigation. Task 1: list the DLL loaded by the product Task 2: list the open files of the item Task 3: analyze the collaboration between programs task 4: analyze the communication between client and server task five: analyze the performance of the item 7. 2. 2 observe the software behavior in debugger task 5: analyze the performance of the item Using the debugger to monitor the running of the application, combining the actual control flow, data flow and source code, we can understand the style faster and get twice the end result with half the effort. 7. 3 business research 7. 3. 1 understanding related parties related parties are software stakeholders, including pc software product buyers, users, developers, maintainers, sellers, managers, etc . Testers think about related people from five aspects to build test ideas. Users: analyze several types of users to understand their expectations, tasks to be completed, skill levels, computer software context, and so on quality faculties Product fear: determine what you are really concerned about, and turn your worries in to test a few ideas; usage scenarios: analyze product scenarios and design scenario tests; domain information: domain information of related parties, including business, environment, difficulties, and so on user scenarios: analyze product scenarios and design scenario tests In the process of testing, testers have to continuously think about these factors, which could help them better understand the product and generate diversified testing ideas. The following are the main element points of practice: at the start of the project, testers do not have a deep understanding of the product and project; as the project progresses, testers will gradually master more product knowledge and business knowledge; following the computer software release, testers will receive some defect reports from users. Internal use is an invaluable development practice, which can enhance the quality of development process and computer software products in many aspects. Because a many employees use products, internal use can find many defects which can be difficult to get in group testing; because users are employing products to complete actual tasks, internal use will help find some defects exposed in real situations; internal testing allows the entire R & D team to participate in the process of quality feedback, and everyone else can submit defects and suggestions, to be able to sneak in Internal use requires employees to set up the latest version of the software which has not been released, which potentially requires most of the software to meet the available standards, without frequent crashes, workflow interruption and other serious defects; internal use puts forward higher requirements for the software development process. In order to make up for the lack of coverage in internal use, many pc software teams release beat versions for external use, so as to widely collect product information. In a word, the goal of research on relationship person is to better understand the mission of software and enhance the value of pc software to relationship person by providing quality information. 7. 3. 2 review the requirements document software requirements are the displayed requirements recorded by the project team and the implicit requirements that aren't formally recorded. Testers have to look closely at these two requirements. For many requirements documents, testers can refer to the next leads to drive the report on requirements documents: defects of requirements documents; product test model; test ideas and questions worthy of investigation. Driving force 1: To examine the requirements documents, we have to find out the errors or deficiencies of the requirements documents 1 The first rung on the ladder of critical reading is to understand the structure and theme of the document (only give attention to some key objects, such as for example abstract, chapter title, target and non target, figure, code example); through rapid reading, testers have mastered the structure of the document and know which parts will be the key content. In the 2nd stage of critical reading, the tester will carefully see the key content and analyze the arguments, arguments and propositions of the document. Included in this, the fundamental technique of reading is always to organize and summarize. In the 3rd stage of critical reading, the tester evaluates and criticizes the information of the document. Common thinking points: may be the evidence given by the document correct? In argumentation, the arguments supplied by the documentIs it adequate? May be the reasoning means of the document correct? Does the document demonstrably describe the consumer requirements and the objectives of the application design? Do the goals, problems and solutions of the document really realize the interests of related people? Driving force 2: tester's test model established by critical reading function list; quality characteristic list; Google ACC; heuristic test strategy model; input-output model; system ecological map; entity relationship model; state machine model; driving force 3: tester uses requirement document to establish test model Objective of technical investigation, and stimulate test ideas use documents to test product behavior. Listed below are some typically common test ideas: Design aggressive test cases to try to make the software behavior not comply with the statement of the requirements document; use conditional analysis to design test cases to test the performance of the product in numerous scenarios; change the parameter values in the statement, and test the merchandise with different data, configuration and scenarios; use conditional analysis to style test cases Test the implied requirements of the statement; design test cases to check the current statement and related statements, in order to find the inconsistencies of the look by covering multiple modules, functions and scenarios at exactly the same time; design scenario test to test whether the software meets the statement of what's needed document in an account of realizing user value. In the requirement review, testers can select according to the traits of services and products and documentsThe values of template parameters are the following: explore < Object >; use < resource >; discover < information >; 7. 3. 3 research through test ? Some typically common test research methods: method 1: reconnaissance survey; When testing a new product, several reconnaissance test ranges will be arranged to quickly investigate the item situation. Declaration test (packaging text, etc . ); document review (product help, and so forth ); function test (basic function, and so forth ); product analysis (disassembly of products, speculation mechanism, and so forth ); scenario test (Conceiving real scenes, testing services and products, and so on ); usability test (playing with products, experiencing, etc . ); stress test (external force beating, etc . ); method 2: method 2: method 2: method 2: method 2: method 2: method 2 Pairing test; pairing test is useful to build a number of test a few ideas. From the perspective of business research, pair testing will help testers understand products quicker. Method 3: team test; team test is an advantageous collective test activity, which could make up for having less familiarity with the test leader, and find the issues this 1 or two testers are difficult to find. The most popular implementation methods are the following: the functional test leader invites colleagues to be involved in the team test meeting; the test leader reserves a gathering room and prepares two computers and projectors; in the meeting, the test leader carries out the test, yet another tester records the test notes, and other participants provide test cases; the team test provides many different test ideas; the team test can offer many different test some ideas After the meeting, the individual in control of the test andThe recorder shall organize the test notes together and submit the defects found. Method 4: brainstorming meeting; brainstorming meeting is a team test activity just like team test. The difference is that the team test needs relatively stable test objects, so it is usually carried out at the center and later stages of the project, brainstorming meetings generally do not carry out the test, so it is often held in early stage of the project and when the test object has not been realized. Listed below are the implementation points of brainstorming: the test leader of the function invites colleagues to wait the meeting; in the meeting, the test leader presides over the meeting, and another tester records the participants' suggestions; before the test, the test leader introduces the features of the tested function, and encourages the participants to provide test ideas and potential risks according with their own knowledge and ideas; to be able to have the test results, the test leader introduces the options that come with the tested function, and encourages the participants to supply test a few ideas and potential risks according with their own knowledge and ideas For diversified some ideas, the test leader should make certain that each participant has got the opportunity to speak; following the meeting, the test leader and the recorder should work together to straighten out the test some ideas. 7. 3. 4 Internet resources supply a knowledge base for software development, and search engine is an crucial tool for knowledge discovery. With the appropriate utilization of search engine and network resources, testers can better understand the product and execute the test. Listed here are some typical scenarios: scenario 1: using search engines to locate clues of technical problems; trying to find discernible key words; if the query fails, trying a fresh keyword combination; using English keywords to find; scenario 2: getting user feedback through tools such as for instance technical forums; scenario 2: getting user feedback through technical forums It's useful to cultivate the product quality awareness of the entire staff, analyze the consumer problems to search for the first-hand information of defects, and technical support activities to help testers understand the situation of users using the pc software. Scenario 3: collect user's comments on products from various aspects; forums; blogs; Q & A websites; media reviews; 7. 3. 5 domain research first, testers have to master basic domain concepts and terms. After mastering the fundamental concepts, testers have to understand the company objectives that the product serves. After knowing the business objectives, testers need to learn the technical methods to achieve the company objectives. Domain research is for better testing. While learning technical techniques, testers should collect information from the perspective of testing to supply support for test design. Listed below are some traditional research results: constraint rules; potential risks; test models; 7. 4 research strategies in the act of practicing these processes, there are two points worth attention of testers: first, testers need to comprehensively make use of a selection of research techniques; second, product research will tell you the whole project process. 7. 5 summary static analysis is always to understand product realization and code change by reading product code. For the knowledge of complex products, the conventional strategy of static analysis is to overview the source code tree, understand the directory structure, module division, code distribution and other basic information, and read part of the important code watchfully to indicate area. Impact analysis and communication analysis are two partsCommon approaches for coding and generating test ideas. Black box testing isn't centered on ignorance. Dynamic analysis studies the main element scenarios and essential designs of products by running pc software. Flexible usage of dynamic analysis tools including debugger will somewhat improve test efficiency. Testers need to identify key stakeholders and understand their goals, missions and tasks. Internal use is a very important development practice, however it can't cover all user types. Testers have to read product related documents critically. Typical document reviews include: document defects, test models, test a few ideas, and questions that want to be investigated. Pc software testing itself is a method of product research. Reconnaissance testing, pairing testing, team testing and brainstorming meeting might help testers better understand the product. The web offers a wide range of test information, and search engine is an crucial tool to find knowledge. Testers should try to learn domain concepts, business terms, business objectives and technical methods to implement more in-depth testing. Comprehensive utilization of many different research methods, to be able to completely understand the product. Test related learning, test design, test execution and test evaluation are mutually supportive concurrent activities. Modes et Conditions de Livraison spoto

Like it? Share it!

Keating Steensen

About the Author

Keating Steensen
Joined: February 8th, 2021
Articles Posted: 1