Do software testers need to understand programming code?

Do software testers need to understand code? If software testers can code, is there a software developer's business? Are people who can test and type code very good?

Regardless of whether it is a layman or an insider, they often lack a basic understanding of a career that has nothing to do with them, such as the software testing we will talk about today. Many people will have a question about the position of software testing? Software testers must understand programming code? Before answering this question, let's first fully understand the various skills of software testing in different periods.

Software testing will vary depending on the needs of software products and different industries, and excellent test engineers play an extremely important role in the entire product testing process. An excellent test engineer should have: 1) rich industry knowledge 2) excellent logical reasoning ability 3) good programming skills.

Insert picture description here

In other words, do different things in different time periods.

1. Novice newcomer-junior test engineer

When you first enter the software testing industry, to become a qualified software testing engineer, you need to learn a lot.

1) The theoretical basis of software testing.

2) Test case design, test function coverage, and actual application of software test projects.

3) Accurate grasp of business, training, preliminary handling and analysis of bugs.

4) In the long-term testing work, we must cultivate a keen sense of bug.

5) Good communication skills. If you can't even express a bug, it's embarrassing. If you can't chat well with developers, it's embarrassing.

However, at this stage, the main function is to test the operating system manually like the user to simulate the user's use scenario.

So you don't need any programming skills, you can do it. Therefore, getting started in software testing is not difficult.

2. Functional testing, testing tools-junior testing engineer (has been employed for a while)

As the test time increases, you need to master more things to expand your technical capabilities.

1) Database operations: mysql, oracle, etc.

2) Linux operation and environment construction.

3) Various test tools: fiddler, wireshark.

4) Understand the system under test, http communication protocol, interface test and its tools postman, soupui, jmeter, etc. from the architecture layer.

5) App special test, compatibility test, and usability test.

At this stage, some people will become group leaders and small leaders. The main work content is to assign test tasks in the group, grasp and feedback the progress of the tasks, and complete the test work.

In some special industries (such as medical), business experts can be gradually formed.

There is no requirement for programming ability at this stage.

Third, automation/performance/safety (must be able to program) ---middle and senior test engineer

Possess test ability and code ability, improve test efficiency and software quality.

The following is an example of automated testing.

1) Choose a programming language to learn: java, python, ruby, etc.

2) Understand the basis of automated testing, automated testing tools, web/app/interface/pc end automation.

3) Framework ideas, project practices and processes.

After working in functional testing positions for several years, I will become anxious.

At work, I feel the constraints of growth. In addition to getting more and more familiar with the business, the work is little by little, and there is no growth in other areas.

I want to change jobs and raise my salary, but I feel frustrated and powerless, because the whole body's value is here.

I want to learn and improve myself in the process of work, and move towards high-paying automated testing, performance testing, security testing, etc.

Of course, automated testing tools can also be automated, but there are good and bad differences.

The first barrier is programming!

In addition, if you want to be an excellent security test and performance test engineer, you not only need to be able to program but also need to have more computer-related knowledge.

4. Test development/performance, safety test expert (must be able to program) - senior test engineer

Test development, with test ability and code ability, improve test efficiency and software quality. You can do development and test.

Requires relatively strong development capabilities, deep into the code layer. Generally do not directly participate in the testing work.

1. The secondary development of test frameworks and test tools can better meet the company's product testing requirements.

2. Carry out unit testing or assist in the development of unit testing, and control the product code quality from the development stage. Quickly discover problems in subsequent iterations.

3. Develop test tools and platforms to improve test efficiency for test teams, simplify various tests, and quantify test results. Such as performance test platform, interface test platform, etc.

5. Test supervisors, managers, directors-career development and promotion stages

It requires not only strong testing and programming skills, but also sufficient management and communication skills. If you only have enough testing capabilities, you can't shake the development team.

New dream summary

If you don’t want to be eliminated by the industry and want to take your professional skills to the next level, programming is a must for intermediate and senior technical testers! In the software testing career, programming skills will become your workplace Help will accompany you throughout your career. It is recommended that you learn several programming techniques, at least one scripting language, such as Vb, Java, Ruby/Perl, etc., and at least one general programming language, such as Java, C++, C, etc. The pursuit of more efficient software testing is one of the motivations for testers to continuously improve their own level. Programming ability is very important to test engineers, but it is not a core competency. Knowing how to program is to let us test and find bugs more efficiently. This is the core ability of testers.

Guess you like

Origin blog.csdn.net/newdreamIT/article/details/100120987