What is software testing? (Memory dry goods)

愿你我相遇,皆有所获! 欢迎关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!

I hope it will be helpful to friends who read this article, especially those who have changed careers and who are still engaged in "Little Little".

Today I saw a question on Zhihu: Actually, I have never understood what software testing does?

Work content of software test engineer

Software testing engineers have high salaries and good remuneration. The demand for personnel has increased rapidly and attracted wide attention. The future development prospects have been affirmed. Attracting many people to join this industry, then, what exactly does software testing do? If you want to become a software testing engineer, you must first understand its responsibilities.

1. Test and discover software defects in the software

Use various testing techniques and methods to test and discover software defects in the software. Testing techniques are mainly divided into two categories: black box testing and white box testing. Among them, black box testing techniques mainly include equivalence class division method, boundary value method, causality diagram method, state diagram method, test outline method, and various typical software failure models; the main techniques of white box testing include sentence coverage and branch coverage. , Judgment coverage, basic path coverage, etc.;

2. Testing needs to run through the entire software development life cycle

The complete software testing work includes unit testing, integration testing, confirmation testing and system testing. The unit testing work is mainly completed in the coding phase, which is done jointly by developers and software test engineers, and its main basis is detailed testing.

Confirmation test and system test are to verify the consistency of the software's functions and requirements after the software development is completed, and to verify whether the system functions of the software meet the user's needs under the corresponding hardware conditions. The main basis is the user's needs.

3. Defect report preparation and submission

The tester compiles the found defect into a formal defect report, and submits it to the developer for confirmation and repair of the defect. The most important requirement for defect report writing is to ensure the recurrence of defects.

4. Software quality analysis

Testers need to analyze software quality. After the test is completed, the tester needs to analyze the software quality based on the test results, including defect rate, defect distribution, defect repair trend, etc. Gives various quality characteristics of the software, including specific metrics such as functionality, reliability, ease of use, security, time and resource characteristics. Finally, a conclusion on whether the software can be released or submitted to users is given.

Or a bit more popular, software tests the actual work content and skills of the operation.

A. Elementary: Functional test (also called Diandiandian)

Market conditions: Little testing occupies 60% of the market. Wages usually only reach 8-15k in first-tier cities.

Basic requirements: understand product business requirements, software development process. Will write test documents, use cases

Features: boring daily work, repetitive work every day. For example, WeChat has developed a function, take a picture, go to various groups to take pictures, do not know programming, use less tools in work, use a little database,

B. Intermediate: functional testing + automation

Market conditions: wages in first-tier cities are 8-18k, accounting for 20%. Reach a technical bottleneck and want to break through advanced testing technology

Basic requirements: rich experience in functional projects, will use some open source testing tools (postman, jmeter, mysql, linux, python,) to assist testing, some simple programming, and a little interface testing

Features: Simple automation can be achieved, at the demo level, automation is not applied to actual work, some fragmented code is found on the Internet, and the principle of the framework is not understood.

High or low

C. Advanced: functional test + interface test + automated test

Market conditions: occupy 15%. I want to improve my competitiveness, establish my own technical system, want to be a test leader, do test development, and perform special tests

Salary: 15-25k in first-tier cities

Basic requirements: familiar with a programming language, proficient in automated testing, UI automation + interface automation (code)

Able to independently build a testing framework for the team and lead newcomers to write automated tests

Able to build a set of effective automated test plans, build test frameworks, write some configuration scripts, public methods, make the framework more flexible, easy to use, and automation core

D. Senior: functional testing + automated testing + test development + performance testing

Market conditions: occupy 5%

Salary: 20-50k in first-tier cities

Basic requirements: rich experience in automated testing, proficient in programming, be able to develop test platforms, and write test tools. Served as a test director-level position in the company.

I believe you can understand what software testing does when you see it here. In short, users have experienced numerous bugs before using it, and the building collapsed without changing the color.

So how to become an excellent software test engineer?

1. Master basic Python basic grammatical rules, improve Python programming skills in an all-round way, and object-oriented thinking

2. Comprehensively master element positioning skills, POM design mode, keyword-driven, data-driven, selenium WebUI automated testing skills

3. Comprehensively master the APPUI automation test skills of element positioning, applet automation, Python+Appium

4. Fully master the HTTP protocol interface automated testing skills of the request library, websocket interface testing, Dubbo interface testing

5. Master the ability to automate continuous skills, automate hard script operation, output reports, automate emails, and automate the entire process of continuous integration

6. Independently build interfaces, UI testing frameworks, integration of interfaces and UI frameworks, scene-related applications, and establish their own technical system.

7. Expand and enhance the depth of professional skills

Finally: test the welfare

In the technology industry, you must improve your technical skills and enrich your practical experience in automation projects. This will be very helpful for your career planning in the next few years and the depth of your testing technology.

In the interview season of the Golden 9th and the Silver 10th, the job-hopping season, organizing interview questions has become my habit for many years! The following is my collection and sorting in recent years, the whole is organized around [software testing], the main content includes: python automation test exclusive video, Python automation details, a full set of interview questions and other knowledge content.


For software testing friends, it should be the most comprehensive and complete interview preparation warehouse. In order to better organize each module, I also refer to many high-quality blog posts and projects on the Internet, and strive not to miss every knowledge point. Friends relied on these contents to review and got offers from big factories such as BATJ. This warehouse has also helped many learners of software testing, and I hope it can help you too!

May you and I meet and you will find something! Welcome to follow the WeChat public account: [Sad Spicy Article] Receive a 216-page software test engineer interview book for free. And the corresponding video learning tutorials are free to share!

Guess you like

Origin blog.csdn.net/weixin_50829653/article/details/112687746
Recommended