My Six Years of Software Testing Insights (Full of Heartfelt Voices)


Unknowingly, I have been engaged in software testing for six years. From the beginning to the outsourcing company outsourcing to Microsoft for software testing, to now joining a well-known foreign company. Six years passed so quickly. Long-term testing work also gave me a deeper understanding of software testing. But I am still a low-level tester, and my views are relatively narrow. Please criticize and correct any errors.

Reading list:

  1. Software testers should be prepared for danger in times of peace
  2. Testers should be more familiar with business requirements than developers
  3. Learn how to get along with developers
  4. Testers should understand some basic programming
  5. Testers build development environment
  6. Document writing is the core competence of testers
  7. Two days of cross-testing should be done in the later stage
  8. Tester's bottleneck
  9. Try to automate
  10. Automated testing VS manual testing
  11. The technology of automated testing is too far apart from the technology used in development
  12. The most depressing is the inability to understand developers discussing technology
  13. Good testers are very rare
  14. Most test managers have a development background
  15. Software testing is indeed very boring and requires a lot of effort
  16. English is a lifesaver for testers
  17. Minimize the use of UI automation testing, and use more unit testing and interface testing

Software testers should be prepared for danger in times of peace

Whenever the economy is bad and the company's performance is bad, the company may lay off employees. The first layoffs are testers. Because the technical level of testers is relatively low, they are easy to be replaced, and they are easier to recruit. Companies often use testers first.

As testers, although most of our usual work is relatively comfortable. But never boil frogs in warm water. You should be self-improving, like a developer, continue to learn, and improve your programming level. In this way, even if you are laid off, you can quickly find a new job.

Testers should be more familiar with business requirements than developers

The level of testers is mainly reflected in the design of test cases. To design test cases with comprehensive coverage and wide coverage, testers need to be very familiar with the business requirements of the project they are testing, even better than developers.

If it is to test the banking system, communications industry, or ERP software. This business knowledge is very useful, and it is more passionate to learn.

It is not easy to be proficient in business requirements.

  1. To be familiar with the functional requirements document, any questions should be confirmed with the PM.

  2. Think of yourself as an end user and often use the software you test. Simulate user behavior.

  3. Memorize every function of the software.

If you encounter some useless and cumbersome software, you really don’t want to learn its business (business that the company will never use again)

Learn how to get along with developers

Testers must work closely with developers, so it is very important to have a good relationship with developers.

  1. Become friends with developers.

It's easy to do everything if you are familiar with it

  1. Don't bother the developers

When you see that development is concentrating on writing code, don't bother others. Writing code requires concentration, and if interrupted, it will interrupt thinking.

  1. Focus on asking questions.

Summarize all the questions that need to be asked and focus on the development, which can save a lot of time.

  1. Write bugs well and don't be bothered by developers.

If a developer sees a bug whose description is not clear and cannot be reproduced, he will definitely scold the tester. Therefore, the tester must write the bug, the description is accurate, concise, without ambiguity, detailed and concise reproduction steps, plus screenshots.

Testers should understand some basic programming

Your product is developed in C#, so the tester should have an introductory knowledge of C#. When you test a web program, you must at least understand HTML, CSS, Javascript, and Jquery. Otherwise, if you test a web program for a year or two, you don't know how this thing is done. It's a tragedy.

Only by understanding the code can you communicate with developers and not be despised by developers.

Testers build development environment

The code of the product is the best learning material. We can’t always test after the development butt, and we can’t always wait for the development to build a version before we test the version. What code is checked in by the development, and the testers are not at all. know. Occasionally we should understand how the product code is designed and how the developers fix bugs. Maybe you have a high level of programming, and you can also do code review for development.

Use the source code tool to check out the product code to the machine. Always look at the code, often look at the code submitted when developing and fixing bugs.

Document writing is the core competence of testers

I remember my former test lead said that the reason why she can be a lead is because she is good at writing documents and sending emails. Writing documents requires the ability to summarize and summarize, as well as clear logic. She is very good at analyzing dozens of pages of Spec and writing dozens of pages of test plans. She is also very good at compiling test reports. A complete, clear and beautiful test report is sent to each group every day, so that all people in the company can clearly see the work of the test group.

Under her leadership, we have summarized many documents, such as "New hire checklist", "on boarding traning", documents used by testing tools, and so on.

After writing more blogs, I found that my ability to write documents has improved a lot.

Two days of cross-testing should be done in the later stage

Cross-testing refers to two test engineers exchanging test items with each other. There are many advantages to doing this.

  1. It is conducive to find bugs. Test engineers can easily become blind after testing their own projects for a long time. Will turn a blind eye to some bugs.

  2. It is conducive to the sharing of knowledge and business, avoiding personnel leaving, asking for leave, and causing unmanned testing.

  3. Different test ideas, you can find a lot of problems with each other

Tester's bottleneck

After two or three years of manual testing, you can basically master most of the knowledge required for testing. If you do not climb to the position of the test lead, many people will feel that the development bottleneck is repeated every day, and you will not be able to learn anything. Will lose passion for testing.

Inability to learn things and low technical level are the biggest problems in testing this industry.

How to break through the bottleneck? I do not know either.

Try to automate

At one point, you should take time to automate your testing work as much as possible, which can save testing time, improve your technical level, and avoid repeated testing.

Automated testing VS manual testing

Nowadays, many companies have higher and higher requirements for recruiting testing. Many good companies recruiting senior QA require more than 5 years of work experience, master a programming language, and have rich experience in automated testing. Of course, the treatment of automated testing will be much better than manual testing.

Automation is the trend. People who only do manual testing will definitely lose their competitiveness in the future.

The technology of automated testing is too far apart from the technology used in development

In the past, many colleagues wanted to switch from testing to development. Now that several years have passed, they still haven't switched to it. They originally wanted to use the accumulated technology of automated testing to switch to development. I don't know that the technology used in automated testing is too far apart from the technology used in development.

Test to development? difficult

Learning to code hard and then using it for testing is the right way

The most frustrating thing about testing is that you can’t understand the developers discussing technology

Sometimes I have a meeting with the developers, and the developers have a lively discussion at the meeting. As a tester, I basically don't understand what these developers are talking about, and I can't even intervene. I didn't even say a word in many meetings.

Good testers are very rare

It is not easy to test well. Good testers need a wide range of knowledge and good communication skills (not only to deal with developers and project managers, but also to communicate with people in other groups). Rich testing experience, great enthusiasm and patience for testing work. The tester also needs to have a wealth of business knowledge and be able to write code.

People who write good code will definitely not do testing, but do development.

Most test managers have a development background

I found that several of my bosses were transferred from development to testing. They all have a few years of development experience, and then they don’t know why they switched to test managers. They can both develop and test, and they can provide technical support to their testers.

If a test manager doesn't know anything about the technology, he can't hold his subordinates internally, and he won't be a bird to the people of other groups externally.

Software testing is indeed very boring and requires a lot of effort

It is undeniable that testing work requires a lot of energy, so Europe and the United States will outsource a large number of test positions to China, repeat the test over and over again, and execute the test cases continuously. The test results are dim and dizzy.

I still remember that I have tested the upgrade of various versions of a program in Windows update. First install the old version of the program, then restart Windows update to see if there is any upgrade, and finally uninstall it. Then install and uninstall. The last test almost vomited blood.

English is a lifesaver for testers

Technically, it is not as good as development. It must have some advantages in English.

With the same technical level, testers who are good at English can enter a foreign company, and the treatment is much higher than that of testers with poor English.

Minimize the use of UI automation testing, and use more unit testing and interface testing

Automated testing that can find bugs is useful, otherwise it is a gimmick

UI automation testing is relatively unstable, and the analysis of test results is also difficult. And the UI changes are also big. Therefore, you should try to do more low-level automated testing. For example, in ASP.NET MVC, UI and logic are separated, and automated testing for logic is better.


Finally: a wave of software testing data sharing!

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 test technology mastery.

In the interview season of the Golden 9th and the Silver 10th, the season of job-hopping, 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.

May you and I meet and you will find something! If you want to exchange experience in software testing, interface testing, automated testing, and interviews. Follow WeChat public account:[Sad Spicy Strips]Receive a 216-page software test engineer interview book for free. And the corresponding video learning tutorials are free to share! Communication learning skirt:313782132

Recommend good articles:

Packaged as a test engineer with 1 year of work experience, my advice before the interview is as follows

What exactly should I learn in automated testing?

Why not consider Tencent for job-hopping? Talk about a little bit of the past between me and the goose factory

Which is more advanced, automated testing or manual testing?

Novice must see: How to write a qualified test case?

Python login interface test problem record and solution (dry goods)

Guess you like

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