Learn these little things and you will surpass 90% of testers

 

Let me tell you a little secret: While many friends are still focusing on manual testing, some people have already started to automate it! Although automated testing is important, manual testing can never be completely replaced by automated testing.

Today, the editor will take you through automated thinking, models, and tools to all levels of automated testing technology, testing frameworks, and testing platforms to give you an in-depth understanding of automated testing.

picture

01 Automated testing thinking

Before explaining the application of automated testing, we must first understand the thinking of automated testing. In fact, in everything, you must first grasp the essence of the matter. Only after understanding the essence, you will find that it is much simpler when you look at the phenomenon. For automated testing system design, the most common one is the pyramid model. However, with today's development of testing theory, the pyramid model has lost its original applicability. What models need to be used in actual projects or what new models can be born are all guided by automated testing thinking. Many times we are accustomed to blaming the failure of automation applications on model errors. In fact, the problem is not the model but the lack of thinking behind the model.

So what is automated testing thinking?

On the surface, it means to make the testing work automatically executed by the machine. However, the problem lies in the connection between ideas and practice. Actual understanding does not mean that you can use it. Therefore, the explanation of automated testing cannot be limited to unit testing, interface automation, and UI automation. Instead, we must consider whether the ability to automate testing can be formed and the input-output ratio after adopting this ability in all aspects, and make a comprehensive Judgment, this is automated testing thinking.

02 Automated testing model

For automated testing models, the most basic one is the pyramid model, but today's business forms, testing theories, and automation technologies have already undergone tremendous changes. First of all, we still need to look at what are the biggest challenges of automation. As we all know, the purpose of automation is to save labor costs. In fact, the cost of realizing automation itself is very high. Therefore, the technological development of automation from the past to the present has always been a struggle with costs. Recording playback, traffic playback, screen comparison, image recognition, etc. were all born to reduce automation costs. Therefore, the basis of the pyramid model was established on the premise that the cost of adopting this model was optimal due to the technical limitations of the time.

However, with the development of current technology, traffic playback technology makes the cost of automated API return close to 0, and new machine learning technology based on image recognition also makes the cost of UI automated return close to 0. The adoption of these two technologies makes the model It directly evolved into a spindle shape or even an inverted triangle, which is obviously reasonable. Therefore, cost is the core factor that determines the "shape" of the model. Whether it is a pyramid, a spindle, or an inverted triangle, as long as the ROI is high, other good models can be used. In addition, even for pyramids, the existing shapes are diverse. 

But strictly speaking, there are two types of pyramid structures:

One type is based on granularity, such as unit testing -> integration testing -> system testing (end-to-end);

The other type is based on hierarchical depth, such as device layer -> coding layer -> interface layer -> interface layer. This does not mean that every layer must exist. It needs to be analyzed based on your own business.

picture

03 Automated test coverage

Of course, after the model is determined, can we just determine the coverage rate of each layer according to the "fatness" of the model? In other words, if conditions permit, is the higher the coverage, the better?

We are used to treating each level of automation separately and formulating their coverage indicators separately. Few people think about the relationship between levels. For interface testing, you only need to ensure that the interface link is open. There is no need to perform repeated verification on each logical branch.

For automated layering, we should start with the layer with the lowest implementation cost to cover as many use cases as possible, and then supplement the parts that were not covered by the previous layer in order according to cost, combined with the characteristics of the layer itself. Therefore, the idea of ​​automated layering is actually a complementary idea and should not be viewed independently.

picture

Dear friends, knowledge is yours only if you master it! Mastering technology is the way to go.

Finally: The complete software testing video tutorial below has been compiled and uploaded. Friends who need it can get it by themselves [guaranteed 100% free]

Software Testing Interview Document

We must study to find a high-paying job. The following interview questions are from the latest interview materials from first-tier Internet companies such as Alibaba, Tencent, Byte, etc., and some Byte bosses have given authoritative answers. After finishing this set I believe everyone can find a satisfactory job based on the interview information.

Guess you like

Origin blog.csdn.net/weixin_50829653/article/details/132766588