This is a joke from a netizen I read in a forum:

Software testing for four years, mainly manual testing (part of automatic testing and performance testing, but using the company’s internal automation tools, and I am weak in automation.) Now two months of naked resignation, interview opportunities are few and often frustrated. The bottom line is that automation, performance, and scripting languages are weak points. But why do some companies focus on functional testing and not me?

Answer the question directly

1. Functional testing is saturated, and there is no shortage of the company;

2, can not find a job, it does not meet the company’s employment requirements. The testing industry has gradually begun to appear polarization, simple business testing basically no threshold, difficult quality engineering requirements have been higher than ordinary RESEARCH and development requirements (business understanding + technical ability integration).

Scripting language, automated testing, performance testing, these are very eye-catching, will increase the probability of an interview, if your resume does not have these, and write a mediocre experience, it is expected that the HR will not pass the pass, naturally less interview.

Second, what abilities does a qualified software testing engineer need?

Stage 1: Pre-basic knowledge

This stage needs to have a basic knowledge reserve, so as to lay a solid foundation, conducive to the next stage of promotion. This stage is mainly to master the computer foundation, test theory, HTML foundation, JS foundation, CSS foundation.

  • Computer Basics: Computer components, operating system classification, B/S classification, C/S architecture, common DOS commands, server domain name
  • Testing theory: purpose of software testing, definition of software testing, principle of software testing, product quality model, basic testing process
  • HTML basics: BASIC HTML syntax, tag attributes, hyperlinks, trace points, forms
  • JS basics: JS basic syntax, JS introduction method
  • CSS basics: CSS basic syntax, CSS four types of selectors, common text properties, line height properties, borders, box model, inside and outside margins

Stage 2: Linux and databases

This stage is mainly to understand the database, including SQL language, MYSQL relational database and other basic database. From the operating system to the basic operation of the database: add, delete, change and check, and then to understand the advanced functions of the database.

  • Linux: Introduction to operating system, operating system development history, centos graphical interface, files and directories, common Linux commands, the use of vim text editor
  • Introduction to database: basic concepts of database, introduction to relational database, MySQL installation and use, Navicat use
  • SQL language (key) : data table operation, data operation, add, delete, change and check, conditional query, sort, aggregation function, grouping, paging, link access, true association, sub-access, sub-access drill
  • Advanced database functions: database design, command line operation database, functions, stored procedures, views, transactions, wiring, clipping, user passwords

Stage 3: Test the basics

At this stage, software testing is officially pulled, from software testing theory, testing methods and classification, black and white box test case design, and master some bug management tools.

Software testing theory, software life cycle, Test methods and classification, Test case design (black box, white box), Defect and defect management tools, others (Test process, test plan writing, Test report template, Test report analysis)

Stage 4: Language

Java\Python is currently the world’s top language. Both are required languages of enterprises. With the popularization of Python language, python is favored by companies in hot fields such as artificial intelligence and big data.

  • Python programming: Computer composition, Python development environment, Python variables, flow control statements, advanced variable types, function applications, file manipulation, object-oriented, exception handling, modules and packages

Phase 5: Web automation testing

At this stage of learning, we should learn more from the following two points. 1. How to change from manual test to automatic test engineer; 2. How to improve the efficiency, reduce the cost, and enhance the adequacy and integrity of testing through automated testing technology.

  • Introduction to Web automation: Automation test classification and application project, automation test framework selection, Selenium development history and working principle, Selenium ide plug-in use, Firebug plug-in use
  • Fundamentals of Web automation: Element base positioning methods, xpath, CSS element positioning methods, common operations on elements, basic operations on browsers
  • Web Automation Intermediate: mouse and keyboard manipulation, element display wait and implicit wait, HTML special element processing, window screenshots
  • Advanced Web automation: Automated test model, UNITTest assertion, unitTest combined with HTMIReport, UNITTest combined with DDT to achieve data-driven, UnitTest combined with Logger

Stage 6: APP automated testing

The automatic test of mobile APP is also imperative when the business is basically stable. The technology for automated testing on mobile devices is still evolving. This stage of learning, is divided into basic, intermediate, advanced three stages of learning.

  • Mobile automation basics: mobile terminal test classification and characteristics, ADB command and monkey use, Appium environment construction, Appium working principle
  • Mobile automation Intermediate: APP and mobile phone system operation, element positioning, element operation, advanced gesture operation, mixed APP test, PyTest test framework, customized test report, data read and write
  • Advanced mobile automation: Po model, data driven, keyword driven

Stage 7: Interface testing

This stage provides a variety of different protocols, different types of interface projects, we only use the learning content of the actual combat of the interface test. Not only to complete the interface testing, but to master the full interface testing workflow: 1. 2. Design interface test cases; 3. Perform interface tests using tools; 4. Write codes for complex interfaces and conduct interface tests; 5. Interface test framework design and implementation; 6. Complete continuous integration of interface tests.

  • Interface basics: interface related concepts, interface test implementation process, restful architecture style, JSON basic syntax, browser plug-in installation and use, use of Postman and Fiddler
  • Getting started with Jmeter: Jmeter installation and basic usage, a thread group for Jmeter components
  • Jmeeter component parameterization: CSV data set conflg, user parameters, user-defined variables, functions
  • Common components of Jmeter: direct database, correlation, assertion, collection point, function detail, logical Controller, distribution, QPS, FTP, graphics monitor
  • Interface framework automation: Requests library usage and script encapsulation, UnitTest framework, mock implementation
  • Interface framework design and implementation: framework design, database operation, data dependency solution, interface exception handling, statistical report and email sending, continuous integration
  • Interface test items: project interface list extraction, project function test, performance test, automatic test

Stage 8: Performance testing

The learning in this stage, from performance requirement analysis to script design and implementation, business performance scenario design, performance fault location and performance optimization, has been practiced with practical cases and projects

  • Performance testing basics: theory, classification, metrics, tools, LoadRunner installation & Registration, Performance testing steps
  • Vugen: protocol, parameterization, collection point, transaction, checkpoint, thought time, association
  • Controller: Scene design, operation, IP Wizard application, load generator, SLA, Scene monitoring, server hardware detection tool
  • Analysis: Result Analysis, chart Analysis, throughput correlation, transaction correlation
  • Performance test tuning: Scenarios, Linux server performance monitoring, JVM configuration tuning, Tomcat configuration tuning, Performance test reporting
  • Database tuning: slow queries, thread pools, index hit ratio, row locks

How to find a software testing job

1, self-study software testing can join us, there will be free information uploaded from time to time, these are the group of leaders from the various technical website collection, sorting out (advertising do not disturb) : [test learning group] ask each other questions every day, master the views of the leaders

2, software test interview treasure book

2021 Test development interview questions and answers, 289 pages

3. How should software test engineers prepare for the interview?

1) Prepare your resume for the interview:

Your resume is your ticket to an interview. If you can’t pass the first screening, there’s nothing else to do.

So resume must write well, do not appear wrong words or sentences, especially do not write professional nouns wrong.

If you can, ask a teacher or classmate to look over your resume and make a good first impression.

2) Review knowledge points

  • Software testing knowledge points study notes
  • Software testing often meet test questions
  • Review the previous interview questions of the company
  • Past interview experience summary review, draw lessons from experience

3) Adjust your attitude

Overconfidence and extreme inferiority will not bring good results in the interview. Only by clarifying your goals and actively preparing for the interview, can you be more likely to get an offer. Don’t be discouraged if you fail in an interview. Instead, learn from your failures. Each failure in an interview can pave the way for a success in the next one.

Write in the last

And the accumulation of water is not thick, then its negative boat is weak. After four years, there must be something to build on. But keep your glass empty, open to change, and change early to embrace new markets. In the learning process, a person is easy to slack off in self-study, so I tried to search some group chats on the Internet to study together. However, due to the mix of fish and dragons, many test groups become chat groups and touch fish. After that, I created a self-study mutual aid group, so that we can make progress together and encourage everyone to upload and share resources. 【 Test study group 】 Ask each other questions every day to master the opinions of the leaders