In work, it is inevitable to encounter requirements documents that are not "perfect", such as unclear interaction logic that affects the whole body, frequent changes in sub-items, ambiguities caused by lack of communication, etc., which will make the tester at a loss during project advancement. .
A good requirements document can not only speed up development and testing, but also detect risks in advance. It is the first risk protection for the product.
Requirements Analysis Overview Diagram
Business needs
Background & Target
When reading the requirements document, we must first have a macro understanding of the project or function itself, and first focus onthe overall role of the requirements Review. If the overall direction is wrong, then there is no point in discussing the details.
integrity
Looking at the requirements document from the perspective of completeness, it is actuallymodularizing (or abstracting) the current responsible project. Determine the scope of influence of the function based on the functional requirements, then refine it, and compare the requirements documents at the same time, so that there are clear expected results for the target operation.
1) Structured project process
- Prototype drawing
- flow chart
Whether it is functional requirements, quality requirements or the need to solve user feedback, these requirements can be abstracted into operations ( Add, delete, modify) and query two major modes. Either it is a pure query type requirement (Jijun Translation), or it is a combination of operation type + query type (Lingxi).
2) Confirm the influencing factors
For example, for the functional requirements of a pure query class, we can know from the above diagram that the factors that affect us in the entire process are:
- user input
- Type (Chinese, Chinese characters, English, numbers, encoding not supported, emoticons, symbols)
- Length (shortest, longest)
- Exception input
- ...
- Query conditions
- Exact match query, partial match query (simplified spelling, violence)
- Query rules defined in requirements (matching rules, priority logic)
- Query content
- The query content here refers to the characteristics of the queried content, existence/absence, synchronous/asynchronous, normal/abnormal, or situations specified in certain requirements documents.
- Show results
- placement
- Sort priority
- Number of impressions
- Marking situation
3) Comprehensive external factors
The external influencing factors here refer to some external factors that may change the four processes. For example, turning on Traditional Chinese will change the user input. For example, when the user closes the user word, the user word query content will be invalid. Another example is that some Fixed words will affect the performance display.
There are also some performance requirements, such as improving query efficiency. We know that this function only requires changing the query conditions, but it should also be clear in the requirements document whether there are constraints on user input and query content. Of course, these comprehensive considerations are inseparable from the tester's mastery of project knowledge. Here we recommendanalogy of similar functions, summary records (bugs, special scenarios)and Use case review to improve the coverage of external factors.
By arranging, combining and summarizing the above factors, and then comparing the requirements documents, we can know the expected results under a specific input. Sowhether these expected results are good or not depends on the clarity, rationality and priority of the requirements details. That is, the relevant influencing factors of clarity, rationality and priority are determined based on the consideration of completeness, so it is particularly important to structure the project process and clarify the scope of influencing factors.
clarity
Clarity is a pain point in demand reading. Because people are subjective when reading, it is difficult to have this awareness of clarity. Where problems often arise are ambiguities and lack of constraints.
-
The suggestion forambiguity is to read it multiple times, especially those parts that are very difficult to pronounce, which are often the source of frequent problems.
-
Problems with constraints often rely on personal experience, such as keyboard type constraints and exception verification constraints.
rationality
-
Whether it meetsuser needs:Whether the requirements solve user pain points.
-
Is it consistent withPopular logic: Will the pain point solved only consider a small range of users, thereby affecting the logic of public attention? .
-
Is it satisfied?User experience: At the same time, it is necessary to promptly discover the user experience problems during the operation process. In the book "The Conclusion" written by the founder of Embarrassing Encyclopedia, In the book "Network", the three principles of user experience are proposed: Don't make me wait, don't make me think, and don't bore me.
priority
Some requirements items "conflict" with existing functions. For these requirements items, are the priorities clear and the rationality of the priorities evaluated?
Technical needs
In order to facilitate testing, we also need to understand development technology. After all, the construction and maintenance of the test environment, the simulation of various scenarios during the test process, especially abnormal situations, and automated testing, all require the help of development technology.
- Understand the structure and design ideas of R&D design, and examine whether the development design meets business needs.
- Confirm the influence points of the technical solution design (code impact, dependent modules, historical function/data compatibility, etc.).
- Understand and be familiar with the development technologies and development frameworks (depending on the specific circumstances of different projects).
- Inspect whether the code'squality attributes meet the following requirements:
- Usability: Assess usability issues for end users as they use and interact with the software.
- Fault tolerance/robustness: Used to test whether the system can automatically recover or continue to run despite the failure when a failure occurs.
- Security: Avoid SQL injection, XSS, leaks and other related security risks.
- Performance: Evaluate the response time and throughput rate/volume of the program under different numbers of concurrent users and different amounts of data.
- Maintainability: Evaluate whether the system has good data processing and logging mechanisms to prepare for technical support and debugging needs.
- Scalability: decoupling, parameter configuration or hard-coding.
- Compatibility: Different hardware, software (operating systems, browsers), etc.
- Reliability: Whether the operation time and MTBF (mean time between failures) in the specifications can be achieved to avoid affecting the user's own business (content, process).
- ...
-
Recommended tutorials related to automated testing:
The latest automated testing self-study tutorial in 2023 is the most detailed tutorial for newbies to get started in 26 days. Currently, more than 300 people have joined major companies by studying this tutorial! ! _bilibili_bilibili
2023 latest collection of Python automated test development framework [full stack/practical/tutorial] collection essence, annual salary after learning 40W+_bilibili_bilibili
Recommended tutorials related to test development
The best in the entire network in 2023, the Byte test and development boss will give you on-site teaching and teach you to become a test and development engineer with an annual salary of one million from scratch_bilibili_bilibili
postman/jmeter/fiddler test tool tutorial recommendation
The most detailed collection of practical tutorials on JMeter interface testing/interface automated testing projects. A set of tutorials for learning jmeter interface testing is enough! ! _bilibili_bilibili
To teach yourself how to capture packets with fiddler in 2023, please be sure to watch the most detailed video tutorial on the Internet [How to Learn to Capture Packets with Fiddler in 1 Day]! ! _bilibili_bilibili
In 2023, the whole network will be honored. The most detailed practical teaching of Postman interface testing at Station B can be learned by novices_bilibili_bilibili
Summarize:
Optical theory is useless. You must learn to follow along and practice it in order to apply what you have learned to practice. At this time, you can learn from some practical cases.
If it is helpful to you, please like and save it to give the author an encouragement. It also makes it easier for you to search quickly next time.
If you don’t understand, please consult the small card below. The blogger also hopes to learn and improve with like-minded testers.
At the appropriate age, choose the appropriate position and try to give full play to your own advantages.
My path to automated test development is inseparable from plans at each stage, because I like planning and summarizing.
Test development video tutorials and study notes collection portal! !