In recent years, the ability of testers to write code has become a rigid demand in the industry. At present, high-paying testing jobs require java and python coding skills, and everyone must also realize the importance and urgency of being able to write code. "Test development" has also become a popular position. To put it simply, a test development engineer is a test talent who knows both testing and code! They can help developers and test students to improve the efficiency of testing, and then help the company to improve the overall R&D efficiency! So what are the main job responsibilities of the test development engineer? What technology stack do they need? Here I give you a detailed summary!
Core: coding ability! Either Java or Python is fine, it's best to have both!
Main work content: UI automation test, interface automation test, test gadget development, test platform development.
This article uses Java as the main line to analyze the technology stack of test development
Basic knowledge of Java
type of data
8 basic data types: byte, short, int, long, float, double, char, boolean
3 types of reference data: class, interface, array
Conditional application
Loop statement application
Common methods of String use, string search, splicing, replacement, and deletion
Arrays and dynamic arrays (arraylist)
hashmap
Regular expression
Java functions, including function definitions, parameters and return values
Java's exception mechanism
Java naming convention
Object-oriented inheritance, encapsulation and polymorphism
JavaIO concept and file reading and writing
Maven foundation, the focus is: install maven environment, create maven project, maven project structure, pom.xml, use maven in ide
Git\SVN basic use
Test framework Junit4 and TestNG
UI automation testing
Core: Automated testing using java jar package + Java testing framework
If you are doing automated testing of web applications, use the selenium jar package
If you are doing automated testing of IOS or Android applications, use the appium jar package
Interface automation test
Core: Automated testing using java jar package + Java testing framework
If you are testing the http or https interface, use the httpclient jar package
If you conduct other types of interface testing (including: TCP, UDP, dubbo, etc.), you need to communicate with R&D. What is the specific protocol? How to call the service interface? Because the essence of interface testing is (using java as an example), a method in the class is called through an instance of the new class!
Test gadget development
Core: Solve the repetitive tasks of manual testing through code, here are a few examples
Test data creation: You can create test data by writing SQL statements + UI automation + interface automation
Test environment construction: mainly python, shell+ansible
Excel document related processing: use poi-ooxml jar package
Jenkins task processing: using jenkins-client jar
Test platform development
From my personal point of view, the development of the test platform is essentially the development, but the development and testing of related products. Then you need to have a more in-depth understanding of the relevant knowledge of Java development, including:
container
Multithreading
reflection
Generic
Design pattern, focus on: factory design pattern, singleton pattern, agent pattern, template method, wrapper pattern, observer pattern and adapter pattern
Since most of the test platforms are developed based on the B/S architecture, we need to master front-end and back-end related technologies.
- The knowledge that the back-end needs to master includes:
Spring, the back-end basic framework
Spring MVC, is an MVC framework based on Spring
The concept of microservices
Spring Boot is a set of rapid development integration package based on Spring's conditional registration, the most mainstream technology at present
Spring Data JPA, manipulate the database
MyBatis, manipulate the database
The comparison between Spring Data JPA and MyBaits is as follows
1. For items with more table associations, use mybatis first
2. It is recommended to use mybatis for continuous maintenance and development projects with fast iterations because it is more flexible.
3. For traditional projects or projects with a clear and stable relationship model, JPA is recommended
Spring Boot message driver (including: KafkaTemplate, RabbitTemplate, etc.)
- The knowledge that the front-end needs to master includes:
HTML
JUDGMENT
Javascipt
Css
View
react
to sum up
The above is the necessary technology stack for testing and development students. The difficulty is naturally testing platform development, because the nature of this position is development! Interested students can follow the knowledge points of the article, charge themselves, and gradually improve! Originality is not easy, if the article helps you, welcome everyone to like, bookmark, and forward. Your support is my motivation for continuous original creation!
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
If the article is helpful to you, please reach out to make a fortune and give me a like. Thank you for your support. Your likes are my motivation for continuous updating.
Recommend good articles:
What exactly should I learn in automated testing?
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)