I’m doing testing now, and I find that people despise testing very much because the barrier to entry is so low that people think testing will only click on the page.

One page functional test Skills:

1. Complete test cases according to the requirements document, prototype diagram and UI diagram provided by the product. To complete test cases, you need to use: equivalence class division, boundary value analysis, error conjecture method, causality diagram method, judgment table driving method, orthogonal test method and function diagram method; At the same time, you should analyze business logic, user operation scenarios, exception scenarios, associated business, etc.

2. Execute use cases: select relevant use cases to execute according to test phase, code change, environment, etc.; Linux simple commands: ls, cat, tail, CD, etc., are used to check background logs to see whether the background has thrown exceptions although the foreground is displayed normally. To understand SQL add, delete, change and check, in order to build data, query data; To understand the operation of business-related operations on the database, which tables are added to the new operation, which key data are available, which state data are available, which fields in which tables are modified by the change operation, and the impact of the fields on future services; Bug problem description, steps, packet capture, log, SQL is the absolute focus.

3, test report, not all companies will send the test report, but must understand their testing business, whether in the process of testing found that risk, for example: some operations will be a lot of writing table, and some operations will need a batch processing program, with the associated timing task execution order, such as problems caused by the length of time.

Two interface function test skills (and functional part of the repetitive part will not be mentioned) :

1. The first step is to understand network protocols: Soup, HTTP, HTTPS, RPC, FTP, SSH, Telnet and other common network protocols.

2. Packet capture tools: Fiddler, Wireshark, BurpSuite, etc.

3, Interface tools, soupUI, postMan, Java language call (HttpClient JAR package, Jmeter JAR package), Python language call (requests library).

Three Automated tests:

1. Classification: UI function automation, interface automation, interface parameterization.

2, language: yes language, language, is always a programming language, not any language please do not say that he is a test. At least one major language: python, Java, c++.

3, debugging ability: actually language, front-end breakpoint, back-end breakpoint. Breakpoint debugging is really stupid and time-consuming, but it’s really the most efficient and basic.

4. Analysis and design: automate related businesses with infrequent analysis changes and not particularly high maintenance costs; Design relevant test cases, be careful to do as much as possible to restore user operations.

5. Deployment capabilities: If you already know how to automate, try setting up a deployment test environment.

Four performance tests you can’t just do:

1. Software: proficient in the operation of loadrunner, Jmeter and other software, as well as the interpretation of the test report. I must pay attention to the details, so that I can better find the problems indicated in the report by understanding the details.

2. Programming Language: Yes it is language, the writing of the script is finished with the language, because the software always has its own limitations, and our own system always has its own particularity, such as the jmeter dubbo interface, print log, a special way of assertion, the request of the special way, these are the need to write their own code completion (sorry I am only familiar with jmeter, So no loadrunner.)

3. Learn more about Linux: Gosh test this, yes, because system configuration absolutely affects test results. You have to monitor CPU, memory, disk reads and writes, network, and so on.

4, all kinds of algorithms, data structure: more in-depth, if the development can not find the performance problem, you have to do it yourself, analysis of his code algorithm, data structure, and even modify the program.

5, a variety of auxiliary tools: auxiliary tools to do, to help you understand the program memory temporary use, determine memory overflow, CPU temporary use is too high, read and write database, network connection and so on.

6, middleware, database use tuning: including but not limited to: Tomcat, Nginx, Node, Apache, mysql, Redis, Oracle, memcached, etc.

Five things to understand about Agile:

1. What is Agile development: Rapid development, like a dud, well say fast, fast is: team members know each other’s progress, so that they can make the next judgment, how to cooperate with the task as soon as possible.

2. Continuous integration and delivery (CI and CD) : CI, integration should be done immediately after completing a certain amount of tasks to ensure that the code does not report errors and can be tested; CD: After completing CI, the version after testing can be released. For example, the big version can be released. Because the version of the day is not ideal, but the version of the previous day may not complete some small functions, but it is deliverable, so the code that has been tested after CI can be released.

3. The important role of testing in Agile is to ensure CD. At the same time, it is strictly required to do a good job of self-testing before the development of CI.

4, All agile based on understanding, understanding each other’s ability, in order to better cooperation, know who to assign tasks, in order to quickly complete high quality, this is a tacit understanding, need time to run.