I'm done, why are post-00s so curly...

Today's young people are really too curly. Some time ago, a 2000 employee came to our company, and after only two years of work, he switched to our company with a starting salary of 18K, which was almost close to mine. It was only later that I found out that he was a king of rolls, and he had to move a bed to the work station to sleep from morning till night.

I had a chat with him recently. It turned out that this little brother’s family conditions are not very good. The whole family counted on him to support himself, so he started to learn software testing by himself when he was a junior, and got a small company in his senior year. internship opportunities. Continuous learning and practice at work took twice as much time as others, so I was able to lay a solid foundation, and now I can work with ease.

After learning about these situations, I began to sincerely admire this big boy who is several years younger than me.

I think this little guy is just a role model for us to learn from. It’s not that we should learn from his overtime work and introspection, but his spirit of continuous learning and advancement!

In order to help testers and friends change jobs for interviews, get promoted and raise salaries, and improve their skills, this article provides you with a set of quick learning methods and interview resources covering "software testing architecture interview advanced all technology stacks".

This time it is free to share!

Through the summary of big data, it is found that the interviews for software testing positions are almost the same. Frequently asked questions include the following:

  • Test Theory - Linux
  • Pytest framework-python programming
  • Performance testing-app testing
  • Database - packet capture and network protocol
  • Interface Testing - Interface Automation
  • UI Automation-Unittest Framework
  • White Box Testing - Continuous Integration
  • scene problem
  • career planning

1. Test theory-Linux 

1.1 Have you written a test plan, and what exactly does it include?

Refer to answer 1:

Test plan content:

(1) Purpose and scope (2) Regulations (3) Test plan and method (4) Test entry and exit

(5) Test plan (process, time arrangement, corresponding personnel) (6) Test environment configuration and personnel arrangement (7) Deliverables

Refer to answer 2

Our company wrote a test plan according to the assessment requirements before, but later the boss felt that the work progress was too delayed.

In the future, the test plan is generally no longer written, but the version plan is written. This is in the version plan, and everyone's tasks are listed.

The person in charge lists them, allocates the time according to their own situation, and then summarizes them. It is enough for everyone to hold a small meeting to review.

2. Pytest framework-python programming 

2.1 Those libraries used by automated testing

1. Selenium library--web automated testing tool 2. Priest framework, running use cases 3. Random random, probability

4. xlrd -- get exell table data 5. pymysql call database 6. pytest-html -- generate html file

7. yagmanil -- send mail 8. time-time 9. Select package -- drop-down box 10. Keys simulate keyboard operation

11. Webdriverwait intelligent waiting 12. Action Chains simulate mouse operation

3. Performance test-app test 

3.1 How to test the performance test

Performance testing is actually to test various performance indicators of the system by simulating various normal, peak and abnormal loads through automated tools. Both load testing and stress testing are performance testing and can be used in combination.

Performance indicators mainly include average response time, 90% response time, throughput, throughput rate, transactions per second, and server resource usage (CPU ratio, mem memory ratio, etc.). When the number of concurrent users exceeds 300, in order to make the test data more accurate, you can consider distributed pressure testing, and control several jmeter servers for testing through the jmeter client.

The performance test needs to debug the script first, and mainly consider parameterizing the data of the script and adding assertions. Because some interfaces need to verify the business logic or parameter format, in order to allow all threads to run, the data needs to be parameterized.

There are several approaches to data parameterization:

  1. Some fixed values ​​can be changed to random functions;
  2. Use JDBC to read data from the database and associate variables;
  3. Excal data parameterization,
  4. Dynamic association parameterization, the assertion is to determine whether the use case

The execution is successful, and the server's response error rate is verified. JSON assertions are commonly used in response assertions, and xml assertions are the least used.

The purpose of performance testing is to check whether the system can meet the performance requirements of customers. If the performance requirements cannot be met, then

To consider the performance tuning of the system, generally use the exclusion method:

1. First consider network issues: Use the ping command to check whether the connection with the target server is normal and whether the transmission speed is fast or slow. By increasing the bandwidth of the server, see if the response time is reduced accordingly.

2. Considering the problem of the database, you can test the database separately to check the maximum number of connections to the database, the execution time of the SQL statement, the index hit rate and the sleep waiting time, etc.

3. Consider the problems of middleware such as Apache/Nginx, and check whether the maximum number of connections set by the middleware is reasonable. If the set number of connections is too small, when the number of sessions exceeds the set maximum number of connections, the waiting time will become longer and a response will appear timeout condition

4. Consider the hardware configuration of the server, such as memory, CPU, disk read and write speed, etc., you can use the top command to monitor, or you can use the nmom tool to monitor, nmom will form the monitored data into a table form, which is convenient for us to view.

5. Finally, consider whether the development code is well written, and whether the processing time is long or not.

4. Database - packet capture and network protocol 

4.1 How to use your database

[It turns out that our database is used a lot, that is, data result inspection, some data preparation tests, and performance testing to create a large amount of data. ]

[For the results of the test execution, we need to use the sql statement select to find the table corresponding to the database to see if the database information is consistent with the results of our execution, for example: after generating the loan application, we will go to the database to check, in the database Whether the data is consistent with the application order data. ]

[We need to do some test data preparation during test execution, we use insert into to input data or (or update set to modify data), we need to go to the database to check whether there are relevant records saved, the saved data is the same as the record we entered or modified Is it consistent? For example: It turns out that there is a paging function in one of our preliminary review functions. To test the paging function, 100 pieces of data are required. We will add 100 through database operations, and insert into can be used. It can also be implemented with scripts, or stored procedures]

[In addition, when doing performance testing, a large amount of data is needed to simulate user scenarios, and we need to create a large amount of data in the database. For example, testing recharge requires a large amount of user data, and we use stored procedures to create a large amount of data in the recharge table, such as 100,000 pieces of data. ]

5. Interface testing - interface automation 

5.1 What is the main purpose of interface testing?

Two ways to ask exceptions: the value and significance of interface testing? Why do interface testing?

The main thing is to verify whether there is any problem with the business logic of the background server and improve the efficiency of the test

①The lower the bug is found, the lower the repair cost

②When the front-end page is modified frequently, the interface test will not be affected by the change of page elements

③ Check the security of the system. The front-end parameter transmission is untrustworthy.

-1 yuan can be passed in through the interface

④The complexity of today's systems is increasing, the cost of traditional testing methods has increased sharply and the test efficiency has dropped significantly, and interface automation testing can improve test efficiency

⑤Interface testing is relatively easy to achieve automated continuous integration, and it is relatively stable compared to U automation, which can reduce labor, regression testing labor costs and time, and shorten the test cycle

6. UI automation - Unittest framework 

6.1 What kind of projects are suitable for automation (at least three)

Functional requirements, stable requirements, stable interface, and no frequent changes can be done

The number of iterations of the version is relatively large, so it is meaningful to make it

The meaning of long project cycle (big project)

Seven, white box testing - continuous integration 

7.1 How to test the white box test

In the original work, I have not been involved, but I have understood

1. Static scanning

2. Dynamic inspection, constructing test data to check, statement coverage --- covering all codes

3. Judgment coverage covers each judgment condition, and each judgment requires a true or false value

4. Condition coverage Each condition needs a true and false value

5. Judgment/condition coverage

6. Combined coverage, combined scenarios between conditions --- key points

7. Path coverage - the black box process analysis method behind - key points

Eight, the scene problem 

8.1 Have you ever captured a packet, why did you capture it, and how did you do it?

Packet capture, in fact, we use it a lot in our work. Generally, we encounter problems during the test process. Sometimes we use packet capture to see the data interaction between the front end and the background, and analyze the data to locate Is it a front-end problem or a back-end problem.

The main use is the fiddler tool. If you only want to grab web-side data, just set up a proxy server on the browser, specify the proxy server as the local fiddler tool, and set the port: 8888. If you want to grab the mobile phone Package, first of all, you need to ensure that the mobile phone and the computer (the computer with fiddler installed) are on the same network, and the http proxy server must be set to manual on the mobile phone, and then the server is specified as the computer's ip address, and the port is set to 8888

Exception, if you want to grab the https package, you may need to install the certificate on the computer, and also install the certificate on the mobile phone side, which is almost the same.

 9. Career Planning

9.1 A brief self-introduction

Interview Palace, hello, my name is XXX, I come from XXXX, I am currently engaged in software testing, I have three years of work experience, my personality is more cheerful, I have a better relationship with people, and I am more careful in doing things. A lot of projects, accumulated a lot of project experience, the first 1-2 years are mainly functional testing, the next year is mainly interface testing, app automation testing can independently complete software product testing, and can independently write test documents, including use cases, Planning, reporting, etc., familiar with lnux and database, familiar with jmeter and python + request for interface testing, you can also use pytest framework for interface automation testing, python + selenium + pytest framework for automated testing, python + appnium + pytest mobile app automation testing framework , Familiar with using Jenkins continuous integration, familiar with app-specific testing and small program testing, and familiar with packet capture tools.

Personally, I usually like...reading...

I personally think that the test is mainly to understand the needs, understand the needs in place, be careful and patient during work, and keep learning ability in terms of technology

If there is no speech in the interview, this is my brief self-introduction, see what else the interviewer needs to know

How to obtain documents:

This document should be the most comprehensive and complete preparation warehouse for friends who want to engage in [software testing]. This warehouse has also accompanied me through the most difficult journey, and I hope it can help you too! All of the above can be shared, just click below to join the group.

                             

 

Guess you like

Origin blog.csdn.net/NHB456789/article/details/130928668