8 basic skills needed to do a good job in functional testing【Come in】

Functional testing is the basic skill of a test engineer. Many people want to do performance testing and automated testing because they can't do functional testing well. Many people's understanding of functional testing is just a little bit. If you don't pay attention to understanding and researching, then your career will stay at a little bit. Here, I write down my understanding of functional testing.

So, what skills are required for functional testing?

1. Proficiency in using SQL

1. Commonly used SQL statements must be written. For example, adding, deleting, modifying and checking.

2. Understand database transactions, write stored procedures, and be proficient in commonly used system functions.

3. Understand and be able to perform operations such as database backup, migration, restoration, and mirroring

4. Optimize the sql statement, and monitor and view the performance of the statement that can be run

5. Understand the operation of database cluster and so on.

Two, Linux

Linux is the basic skill of testers. You don’t need to master too difficult or very uncommon Linux commands. Normally, you can check logs and locate problems.

1. Basic commands

Commonly used Linux basic commands are often asked in interviews, or a scene is given to ask what command you use.

2. Check the log

Junior testers often encounter at work, find bugs, development does not admit or is unwilling to solve the situation, how can testers get rid of such problems? That is to view the log and locate the problem according to the found bug and the log level.

So here is the first thing to talk about the log level. Remember this first: the higher the log level, the less information is output.

The specific log levels are divided into four levels:

info : code info information, excluding some debug information such as sql statements

warning warning : code warning message

error : The program itself reports an error message java.lang.outindexERROR.....

critical : barely used

Generally, bugs that do not meet the requirements are in debug, and bugs that the program itself reports errors are in error.

3. Use the database and follow the data flow

1. The nature of the database

Common databases are mainly MAYSQL, ORECAL, Redis, among which Mysql database is a typical relational database

2. Database operation

(1) Database and table operations

(2) Table data operation

(3) Complex sql query

4. Write test cases

A type of document that is very important in the testing process. It is the core of the testing work, a set of input and output standards during testing, and a specific comparison of software requirements. Writing test cases is the basic skill of testers, but not many people can really write well.

What the test case must contain:

Use case number, use case name, test background, preconditions, priority, importance, test data, test steps, expected results, actual results, remarks.

1. The process of writing test cases

Requirements Analysis --> Extract Test Points --> Test Case Writing --> Test Case Review

2. The idea of ​​writing test cases

(1) According to the RPD of the product, extract the test points.

(2) According to the direction of data flow.

(3) According to the architecture deployment.

(4) Common methods for writing test cases: equivalence class division method, boundary value analysis method, flowchart method, etc.

(5) Covering weak network testing, interface testing, security testing, performance testing, etc.

(6) Common testing tools include: Postman, Charles, Fiddler, Jemter, Loadrunner, etc.

3. Precautions for writing test cases

(1) Design the test case form according to the actual situation of the project

(2) Do not copy the use case format mechanically

(3) Write according to the specific situation

(4) Learn to question the requirements, do not write test cases completely according to the requirements, but understand the requirements from the perspective of customers and products, and see functions and experiences beyond the requirements

4. Manage test cases

Why manage test cases?

(1) The number of test cases is huge

(2) Test cases will change according to changes in requirements

(3) Test cases need to be supplemented and improved for a long time

How to manage test cases?

(1) Original Excel management

(2) Professional project management systems (eg: git, Zen Tao, JIRA, Confiuence, etc.) are generally in web format

Five, http and https protocol

Interviews often ask the following questions about the Http protocol

1. Http protocol principle

2. The difference between http and http protocol

3. The difference between TCP and UDP

4. The difference between session and token

5. Understanding of public key and private key

6. The difference between get and post

7. What happens from entering the URL to loading the page

8. What is proxy, forward proxy and reverse proxy?

6. Understand the business

To do functional testing, you must understand the business, or even understand the business. Only by thoroughly understanding the business can we do a good job in functional testing and improve it to a certain extent. After you are familiar with the business, you will know a lot of common sense. After knowing the following common sense, you can try to advance and learn to do automated testing, interface testing, and performance testing

1. When to intervene in automation => when your system tends to be stable

2. When to intervene in interface testing => when the interface development is completed

3. When to intervene in performance testing => when there is a promotion, or when there is a rush to buy (618 big promotion, grab train tickets during the Chinese New Year, grab coupons). For example, for 5,000 coupons, how many people grab them and how long will it take to grab them.

Seven, bug management

When doing functional testing, another very important job is bug management. An excellent tester has a lot of online bugs, more than other colleagues who work with you, but very few online bugs, less than other colleagues.

1. Definition of bug

(1) Does not meet the requirements

(2) The program itself reports an error

(3) Does not conform to the user's usage habits

2. Bug life cycle

When our testers submit a bug, the bug has its life cycle from the beginning to the end.

3. Contents of the bug list

Bug description (summary)

Environmental information: operating system/database/browser/software version (OS/Database/Project/Build/Release)

Belonging function module

test/developer

severity level (1-5)

customer priority

degree of risk

state

steps to reproduce

actual results

Do you want to return to the question, etc.

4. Test report

Write the test process and results into documents, analyze the problems and defects found, provide a basis for correcting the quality problems of the software, and lay the foundation for software acceptance and delivery. Test reports are generally written by test leaders, just like test plans. Testers need to understand what is included in the test report.

8. Typical bugs

1. Packet capture function: test an app search function, capture packets, capture a search interface, and suddenly find that two request interfaces have been captured -> when the number of visits increases, the service pressure rises twice

2. Data flow direction: During the test, it was found that there was only one piece of data on the page, but there was one more piece in the database -> 1. The amount of data increased, and the query slowed down. 2. There were too many dirty data, and the program crashed instantly

3. Weak network test: App project must have weak network test (simulate 2g, 3g, 4g, wifi network status and packet loss); network switching test (reconnect after network disconnection, switch from 3g to 4g/wifi, etc.)

To sum up, it is not an easy task to do a good job in functional testing. I have been doing Internet function tests for two years, but I still don't understand a lot of knowledge. Only by continuous learning can I become a talent.

Many people do not do well in functional testing, so they want to do performance testing and automated testing. In fact, they are too ambitious. I think that after laying the foundation, learning about performance testing and automated testing will definitely get twice the result with half the effort.

The following is the supporting information. For friends who do [software testing], it should be the most comprehensive and complete preparation warehouse. This warehouse also accompanied me through the most difficult journey. I hope it can help you too! Friends can get it for free if they need it  【保证100%免费】Friends can get it for free if they need it 【保证100%免费】

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

Software testing interview applet

The software test question bank maxed out by millions of people! ! ! Who is who knows! ! ! The most comprehensive quiz mini program on the whole network, you can use your mobile phone to do the quizzes, on the subway or on the bus, roll it up!

The following interview question sections are covered:

1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux

6. web, app, interface automation, 7. performance testing, 8. programming basics, 9. hr interview questions, 10. open test questions, 11. security testing, 12. computer basics

How to obtain the full set of information:

Guess you like

Origin blog.csdn.net/IT_LanTian/article/details/130850896