The road to test design improvement

There are many positions in the current software industry, among which development and testing can be said to be the TOP2 hotspots. Compared with development, testing is easier to get started, but to quickly reach the peak, we need to master some methods and routines. Testing is a cumbersome job. A person's energy is limited, and he needs to master a variety of technologies within the specified time, and it is very difficult to achieve proficiency. As far as the development status of testers is concerned, general company application requirements indicate that testing needs to be mastered At least one programming language, that is, the current hot test development position, the status quo tells us that the testing requirements will become higher and higher, and the testing industry is facing huge challenges.

Since childhood, we have been imitating and learning step by step and progressing step by step. The same is true for the testing industry. In order to grow faster, we must let our testing thinking first solidify, then change, and finally find a way that suits our own thinking until proficient. I believe that many of my friends are fans of Jin Yong's martial arts, and of course the author is one of them. Learning and testing techniques is like learning a martial art. We first need to slowly learn the mentality and moves (solidification). After we have a certain foundation, we can experience them in actual combat. After seeing the moves (changes), we can learn them after many times. Find the method of cracking different martial arts, achieve flexible use and even create a new set of martial arts (proficiency), many people may ask, how to solidify? How to change? How to be proficient?

01 Mentality determines destiny, and mentality determines success

I will do this chicken soup first!

picture

People are full of curiosity about new things, but most of the time it's just a three-minute enthusiasm, let alone dedication. When in contact with a new field or a new technology, it is more necessary to make unremitting efforts, face various difficulties optimistically, and at the same time demand yourself with high standards. Before doing anything, you need to correct your mentality, not forget your original intention, and try to do things right and well at one time. This is very important.

02 Curing method

In the field of software testing, when you first come into contact with testing, you will learn a series of test design methods. This is also a necessary process for junior testers, and it is also the basic skills we must master. Let’s briefly review these methods below:

picture

2.1 Equivalence class division method

Divide all possible input data (valid and invalid) of the program into equivalence classes. Then select representative data from each equivalence class to generate test cases, which are composed of valid equivalence classes and invalid equivalence classes, so as to ensure that the test cases are complete and representative

2.2 Boundary value method

A black-box testing method that tests the boundary values ​​of inputs or outputs. Usually the boundary value analysis method is used as a supplement to the equivalence class partition method, in this case, its test cases come from the boundary of the equivalence class

2.3 Error inference method

According to test experience or intuition, various errors that may exist in the program are speculated, so as to write test cases for checking these errors in a targeted manner

2.4 Causal Diagram Method

It is a method of designing test cases by analyzing various combinations of inputs by using the graphical method, which is suitable for checking various combinations of program input conditions

2.5 Decision table method

Also called decision table, it is a tool for analyzing and expressing different actions of the system under various input conditions. It can express complex logical relationships and combinations of various conditions in a concrete and clear manner.

2.6 Orthogonal analysis method

A method of arranging experiments and performing data analysis using tables that have already been created—orthogonal tables—

2.7 Functional map analysis method

A gray-box testing (including black-box and white-box testing) use case design method, which formally expresses the functional description of the program with a functional diagram, and mechanically generates test cases for the functional diagram. Usually, the functional specification of a program is composed of dynamic specification and static specification. The dynamic specification describes the sequence of input data or the sequence of transitions; the static specification describes the correspondence between input conditions and output conditions

In the actual test and analysis process, 2.1-2.3 may be used more, and other methods are relatively few, but we still need to master the implementation ideas of various methods. According to this fixed routine, we carry out the test design work on the products we need to test, and start the personal test road.

03 Change your mind

Mastering the above test methods can solve many design problems for us, but the methods are not omnipotent, and some methods are complicated to use, and the efficiency of test design is relatively low. We are faced with finding other solutions to solve the problem.

Back to the origin, what is the background and requirements of our product design? How is the demand fulfilled? Ultimately, what kind of people is it intended to be used for? How are these people using our products? Where is the value of our products? Ask yourself why? Naturally know what you need to test----test based on user scenarios (scenario analysis method).

picture

Analyze software application scenarios, design use cases from the perspective of users (different types of users), design use cases from the perspective of scenarios, and design use cases for users, generally including 4 scenarios, normal use case scenarios, alternative use case scenarios, and abnormal use cases Scenarios, assuming speculative scenarios, need to be combined with 5W2H design ideas in the design process.

What we focus on is whether the final function of the product meets the needs of users, rather than simply verifying whether a certain function is normal. It is necessary to verify the function of the product from the level of the entire solution.

04 Flexible use

The above is to describe how to change the test thinking from the functional level. The above describes from the original function design method to the overall user scenario. These are all things we need to master, but mastering these is far from enough. Many people have questions about when the test will end? Then I can only say that product defects will always exist, and the testing work can only be endless, so after the version is released, it does not mean that the product has no problems. There are no bugs that affect users.

picture

The above describes the verification of functions from the entire solution. In order to ensure the adequacy of the test, we need to master the internal implementation of the product. In the case of function realization, from the perspective of testing (reliability/performance stability/security/serviceability) ) to analyze the rationality of the plan, whether there is a better implementation plan, what are the advantages and disadvantages compared with the same type of products on the market, and to know the product needs.

On the basis of certain test design methods in the past, integrate the mastered test methods into the entire solution, and find a set of analysis ideas that suits you. When facing different products in the future, you will be able to do a job with ease and play well. , carried out various tests smoothly.

Summarize

From a test rookie to a master is a process of skill improvement and experience accumulation, and it is also a process of thinking change. From point to surface, from low to high, let your vision be wider, your ideas more unique, and your testing technology broad and profound. We still need to continue to learn and study, and believe that one day I will become a great god.

Finally: The complete software testing video learning tutorial below has been sorted out and uploaded. Friends can get these For [software testing] friends, it should be the most comprehensive and complete preparation warehouse. This warehouse is also Accompany tens of thousands of test engineers to go through the most difficult journey, and hope to help you too!【保证100%免费】
insert image description here

Software Testing Interview Documentation

We must study to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Ali, Tencent, and Byte, and some Byte bosses have given authoritative answers. Finish this set The interview materials believe that everyone can find a satisfactory job.

insert image description here

How to obtain interview documents:


insert image description here

Guess you like

Origin blog.csdn.net/AI_Green/article/details/130104979