2023 Gold Three Silver Four--The software test interview questions we encountered [function/interface/automation/performance, etc.]

1. Interview skill questions (subjective questions)

serial number interview questions
1 How can you make a good impression on the interviewer under the premise that the technology is not so qualified?
2 How to skillfully avoid questions that you don't know during an interview? How to answer questions wittily and turn passive into active when encountering questions that you don't know how to do in the interview?
3 Regarding the skills of the level of understanding, I was asked whether I would answer yes or no, and I took the initiative to avoid it. I didn’t expand on the part that was used. I felt that I was not confident during the interview.
4 How would you describe yourself? Is 3 minutes enough?
5 As a tester, what contributions have you made to the test team?
6 What are the advantages of being a tester?
7 Do you have anything to ask me?

Reference answer:

1. How can you make a good impression on the interviewer without being technically qualified?

  Technology is only one aspect of what the interviewer examines.

       He (she) will also consider: Is this person worth cultivating? What is the training cost?

       How do you think about cultivating this? One is work attitude and mentality, and the other is learning ability

       Then in the interview, what you need to reflect is the above 2 points.

       Here are some ways to start:

       1) What tasks have you undertaken on your own initiative?

       2) Organized internal technology/business sharing

       3) Follow the test official account, visit the test forum, and read test-related books

       4) Accept new things

       5) Work/study attitude is proactive

      6) Curious for knowledge

       The above is illustrated with related cases

2. During the interview, how to skillfully avoid the questions that you don’t know? How to answer questions wittily and turn passive into active when encountering questions that you don't know how to do in the interview?

      1. For those you know or don’t know, you can directly tell the interviewer that you have little contact with this aspect, or you have not yet come into contact with it at work.

            If you forcefully say yes, then the interviewer will ask more relevant questions, and if you can't answer them, you will be exposed as a liar.

      2. You can add an explanation: I have extra to understand this technology, which channels/books to learn from, and what points I have learned.

      3. You can add an explanation: Although I don’t know it now, if I have the opportunity, I am willing to learn and use it.

      Of course, if you are good at chatting and have good experience, you can highlight your ability in other technologies related to the problem.

3. Regarding the skills of understanding level, I was asked whether I would answer yes or no, and I took the initiative to avoid it. I didn’t expand on the part that was used. I felt that I was not confident during the interview.

      In the resume, if the technical proficiency is not understood, it is to tell the interviewer that you probably know this thing, but you have not applied it deeply in your work.

      Therefore, when asked about the technology you know, you can generously tell the interviewer the degree of your understanding and the degree of use in your work.

      Moreover, the interviewer will not continue to ask questions that you understand, so there is no need to be unconfident.

4. How would you describe yourself? Is 3 minutes enough?

      Your overall work experience, the interviewer can roughly know on the resume.

      And for your job 2 years ago, the interviewer will not ask too much, and it is normal for you to say that you have forgotten it.

      What the interviewer cares about is: what is your current job responsibility and what is your working ability?

      So introducing myself here:

          1. Summarize how many years I have been in the testing industry, automation, and management, and what areas of testing are I mainly engaged in.

          2. What type of project is currently being worked on, and what is the main work content currently undertaken?

          3. For earlier resumes, just a few simple sentences will do. For example, previous work experience is mainly. . . .

      The self-introduction should be short, not needing 3 minutes. After talking too much, the interviewer basically didn't listen behind.

5. As a tester, what contributions have you made to the test team?

      Mainly talk about: what the company did not have before, but after you came, the changes brought about.

      The following points for reference come from the conclusions after communicating with VIP students:

      1. Output framework learning documents to let team members learn and empower the team

      2. Improved efficiency--

      3. What problem was solved--

      4. Optimized work

      5. Is it possible to develop automated testing tools to meet the needs of development?

      6. Guaranteed quality--The hidden big bugs were excavated in advance/standardized the testing process before going online.....

      7. Energize the team atmosphere and improve the enthusiasm of testers

      8. Train other teams on products 

6. What are the advantages of being a tester?

      The interviewer wants to know what you are good at doing the job of testing now.

      It is mainly reflected in two aspects: one is the advantage of software testing hard skills (testing technology), and the other is soft skills.

      In terms of testing technology: such as your automation ability/test development ability,/such as the severity level bugs you dig more than others. .

      In terms of soft skills:

            Serious and meticulous work, divergent thinking, soft skills-communication ability/summarization ability/comprehension and understanding/learning ability

            These points all need examples to illustrate the application of your ability at work.

7. Do you have anything to ask me?

      When many students have multiple offer options, they are very entangled and do not know which one to choose.

      There are 2 main reasons:

      One is that they are not clear about their work goals for the next stage, or are easily shaken.

      For example, salary is the primary goal, or career development prospects are the primary goal.

      The other one is that the company that has an offer does not understand the main job responsibilities and future development prospects after joining the company.

      The development prospect here refers to your development prospect in this position.

       Everyone needs to remember: Others evaluate your value based on your previous work experience in the workplace.

       Therefore, when we choose a company, we must combine our own needs and make value-added preparations for the next job-hopping.

       So, in this [Do you have anything to ask me], hurry up and find out if this company is worth entering

      Several reference options are available:

      1. Understand the company's test team and member ratio (function/automation/testing/performance, etc.)

      2. Know what type of project you will be working on in the future, the current stage of the project, and how many people will be tested. .

      3. Understand what the main job content will be if you join the job

      4. Understand your company's future plans for the testing team.

      5. If you are more concerned about overtime, you can ask how often you will work overtime after joining the company. .

      There are others, and you can ask questions according to your own personal circumstances. .

      Pay attention to the attitude of asking questions. .

      Second, if you have more questions, you need to explain why you are asking this question. Because you ask too much, the interviewer is also very annoying.

2. Functional test interview questions

serial number test case design WeChat red envelope test case
1 test case design Use cases of WeChat search function, WeChat Moments function, WeChat red envelope function
2 interface test Today in the interview, I was asked how does your company do an interface test?
3 http communication 3 handshakes, 4 waves?
4 Operational capacity tell us about your project
5 quality system How to ensure the quality of testing?
6 Bug location capability How do you usually locate the problem?

Reference answer:

1. Use case design class:

       The function of WeChat has been asked a lot. For example, the use case design of WeChat red envelope function, WeChat circle of friends, and WeChat search function .

       When we design use case tests, we generally refer to the following two points:

                1. Product-oriented user groups and product application scenarios

                2. Based on 1, consider the following 6 points: function, interface, performance, security, ease of use, compatibility

      Take the WeChat red envelope as an example:

      Group: the general public in China

      Application scenario:

      private

      Group sending- Lucky/Password/Fixed Cover Red Packet Video Red Packet New Year Red Packet

      Red envelope limit, return after 24 hours, amount fluctuation, amount accuracy, holiday greetings, view red envelope records, add emoticons...

      If you prepared the use case design questions during the interview, then it is easy to answer.

      If you have not prepared the use case design questions during the interview, and think on the spot, you will more or less miss it.

      In actual work, we also spent time and thought on how to design use cases, much more than during interviews.

      Therefore, if the design is not complete during the interview, you can explain the situation to the interviewer.

      The on-site time is short and the face-to-face is tense. At the same time, I will give an example to talk about how to spend time on a comprehensive design in actual work.

2. I was asked in the interview today how does your company do an interface test?

      Provide how a student responded:

      At that time, I answered that it was similar to functional testing, and its normal situation should also be considered. Then, the design of other test cases is similar to functional testing. Execute the test cases, and compare the interface documents to see if the status codes returned by them are consistent with the descriptions of the interface documents.

       The above answer is too general. Not combined with your company's actual application.

       This process, even if you don’t tell the interviewer, the national interface test is the same routine. Whether the answer says it or not, it makes no difference.

       Answers for reference:

       Combined with your company's business interface, specific implementation instructions:

      1. What tools/framework do you use?

      2. Interface type/data format

      3. Interface document /swagger/yapi/ - packet capture/communication

      4. Assertion - what data will be compared

      5. Database verification

      6. It is possible to add some explanations on how to deal with difficulties

3. 3-way handshake and 4-way handshake in http communication?

       There are many articles explaining on the Internet, you can search by yourself.

4. How to ensure the quality of testing?

      Interviewer inspection:

           1. Your perception of quality;

           2. How do you ensure the quality of testing in your past experience?

     Refer to the following dimensions, preferably combined with your previous work cases:

     It can be explained from the aspects of ensuring product quality and how to reduce missed tests.

     For example, from my own testing experience:

      1) The testing process/product delivery process should be standardized -- requirements/review/smoke/cross-test/abtest/greyscale release, etc.

      2) From the dimension of testing (various testing dimensions, testing methods, left-shifting and right-shifting, testing efficiency, etc.):

              The first is to reduce missed testing: it is easy to appear during regression-automatic means can be used appropriately

              The second is to try to understand customer scenarios: cover the user's usage scenarios. Better design of use cases for both functional and non-functional tests

              The third is to continuously update the use case library: For those that are not covered, they need to be updated to the next regular test. Fourth, exploratory testing can be carried out

              The fifth is to sort out logical loopholes and avoid hidden test scenarios

              The sixth is to add white box testing, for development code review, add code scanning, etc.

5. How do you usually locate the problem?

      Interviewer inspection:

             1. Are you really just a little bit?

             2. How deep is the basic skill of functional testing?

     Commonly used means - F12/packet capture tool, see product log

     Immediately give an example: the most fulfilling bug location and analysis in your work

     It should show that you are not just a little bit, you have a deep understanding of the business flow, data flow, and implementation logic of the product, and you can dig deep hidden bugs.

3. Interface test interview questions

HTTP, HTTPS protocols

  • What is DNS
  • HTTP protocol
  • How to capture the HTTPS protocol
  • Say the common return status code in the request interface
  • http protocol request method
  • The difference between HTTP and HTTPS protocols
  • What is the difference between HTTP and HTTPS implementations
  • The difference between POST and GET
  • HTTP request message and response message format
  • What is the HTTP protocol stateless protocol? How to solve the HTTP protocol stateless protocol
  • Common POST data submission methods
  • HTTP request message and response message format
  • Which versions of the HTTP protocol have you learned?
  • The difference between Session and Cookies
  • Which layer is HTTPS at, and which layer is the session layer at?
  • What happens after the browser enters the url and presses Enter?

TCP, UDP protocol

  • The difference between the TCP/UDP protocol, how does TCP ensure correctness, what protocol is WeChat based on, what protocol is QQ based on, and why?
  • Are you familiar with the OSI protocol? what is the principle

Interface use case design

  • How to design interface test cases?
  • HTTPS test point
  • Change from HTTP to HTTPS protocol, test points
  • Shopping cart module, add shopping cart interface test point analysis
  • http://...?orderId=,**, interface design use case
  • When designing an interface test case, it involves the e-commerce system. It includes many modifications, such as products, merchants, stores, etc. The modification of these data will involve many parameters, such as the name of the product, the size of the product, and the size of the product. Color, etc. How to determine the parameters to pass when designing and implementing the "modification" interface? Do I only need to pass the parameters I want to modify, or do I have to pass all the parameters?
  • Upload file test point
  • Design test cases according to the following interface

  • How to measure all the statuses of an order, such as: unprocessed, processing, processing failed, processed

interface test

  • Why do interface testing
  • What bugs have you found during your usual interface testing?
  • How do you usually test the interface
  • What tools do you usually use to test the interface?
  • There is no interface document, if you do interface testing
  • The process of interface testing
  • What interface testing tools are commonly used, and an example of how you do interface testing in your work
  • How to deal with irreversible operations, such as how to test the interface of deleting an order
  • How to clean up the garbage data generated by the interface
  • Where do you put the test data
  • How do you achieve digital signature
  • When an exception occurs in an interface, how do you analyze the exception
  • How do you parameterize
  • How to do data cleaning
  • How to perform data inspection
  • How to verify the response, there are so many parameters
  • How to analyze whether it is a front-end or back-end problem when doing interface testing
  • How to know whether the request succeeds or fails in the test interface
  • How to simulate a weak network test
  • How to test asynchronous interface
  • What is the difference between symmetric encryption and asymmetric encryption in the interface encryption test? How to carry out the test? Please explain
  • Please elaborate how interface testing and UI testing are coordinated in testing activities?
  • Currently, the interface documents are managed in the word format. Due to the fast iteration, a lot of documents are generated. It is impossible to distinguish which interfaces are not in use, which are the interfaces in use, and which are updated interfaces. The text is messy. In addition, because it is in the word format Management, it is not convenient for children to inquire, how to manage? Every time you view the interface document, you need to download multiple words. You cannot avoid the download operation to view. The efficiency is the same. How to improve the work efficiency

interface dependency

  • How to deal with many interfaces requiring login?
  • How to deal with login-dependent interface -token and session management
  • In the process of manual interface testing or automated interface testing, how to deal with data dependencies in upstream and downstream interfaces
  • How to test interfaces that depend on third-party data
  • How to test the interface that depends on the login status in the interface test
  • If the two requests have a strict order, you need to test the reverse order
  • In the process of manual interface testing or automated interface testing,
    how to deal with the data dependence of the upstream and downstream interfaces?
  • The request parameters of the next interface depend on the return data of the previous interface

Web Service

  • What is the difference between HTTP interface testing and Web Service interface testing?
  • How the Web Service interface is tested

interface framework

  • How is the interface testing framework built?
  • Have you ever done work related to framework stability optimization?
  • How does continuous integration work?

Mock

  • How to use Mock
  • How do you mock

RPC

  • How to test the rpc interface
  • What is an RPC interface, use Http to design an RPC interface
  • Have you implemented the rpc framework yourself

performance

  • How does JMeter store variables for the next interface to use
  • How to Perform Interface Pressure Test
  • JMeter executes 10 times
  • JMeter gets the result of the previous request
  • JMeter completes a use case
  • When doing interface testing, when there are many parameters requested, the tps drops significantly. This interface obtains data from redis according to the parameters, and each parameter interacts with redfs once. When one set of parameters is tps5133, and five sets of parameters are tps1l69, multiple interactions affect the processing performance. , please describe in detail how to improve the promotion effect

high energy part

  • TCP header format
  • UDP header format
  • The difference between TCP/UDP (not only macroscopically, it is best to explain clearly according to their respective mechanisms)
  • HTTP status code (best used in conjunction with scenarios, such as which one to use when a cache hits)
  • HTTP protocol (the role of some header fields, such as cace-control, keep-alive)
  • OSI protocol, TCP/IP protocol and the corresponding protocol of each layer
  • Session mechanism, Cookie mechanism
  • TCP shakes hands three times and waved four times (this question really needs to be answered, but it is really the interviewer's favorite question. It is recommended to hand it once a day, and not only in the process of each request, but also in various FIN_WAIT and TIME_WAIT states. to master).
  • The process between opening the webpage and displaying the page (covering all aspects, DNS resolution process, Nginx request forwarding, connection establishment and maintenance process, browser content rendering process, the more detailed the better).
  • The difference between http and https, https is an additional process when requesting, how does https ensure data security
  • IP address subnetting
  • The difference between POST and GET
  • DNS resolution process
  • How does TCP ensure the reliable transmission of data (this problem can lead to many sub-problems, congestion control slow start, congestion avoidance, fast retransmission, sliding window protocol, stop and wait protocol, timeout retransmission mechanism, it is best to master)
  • Address Resolution Protocol ARP
  • The difference between a switch and a router
  • HTTP2.0、thrift
  • The difference between API interface and SDI interface (API is an interface provided to others)
  • How does dubbo make multiple calls concurrently with one link. The principle of Dubbo, serialization related issues
  • How do you understand the http protocol
  • Talk about the workflow of the http protocol
  • What are the request submission methods for http
  • What status do 200, 302, 403, 404, 500, 503 in http represent?
  • What is web caching? what are the advantages
  • How do you understand cookie and session, and what are the differences
  • What is https, talk about the working principle of https
  • What is an http proxy server and what is it used for
  • What is a distributed system
  • What aspects of a distributed system would you consider
  • Talk about the concept of CAP
  • How to understand strong consistency, monotonic consistency and eventual consistency
  • What strategies do you consider for distributed system design
  • Talk about the three-way handshake and four-way handshake process of the TCP protocol
  • Talk about the three-way handshake and four-way handshake process of the TCP protocol
  • Why does TCP establish a connection protocol with a three-way handshake, but close the connection with a four-way handshake? Why can't I connect with two handshakes
  • Why does the TCP TIME_WAIT state need to wait for 2MSL before returning to the CLOSED state?
  • What are DoS, DDoS, DRDoS attacks? how to defend
  • Why is the TCP/IP protocol unreliable
  • What are the seven layers of the OSI model? Which four-layer model is TCP/IP

4. Automated testing interview questions

1. Will you encapsulate the automated testing framework?

This is the most frequently asked question, and many companies even write it directly in the recruitment requirements!

Of course, the main core framework of the automation framework is the layered + PO mode: respectively: the base encapsulation layer BasePage, the PO page object layer, and the TestCase test case layer. Then add the log processing module, the ini configuration file reading module, the unittest+ddt data driver module, and the jenkins continuous integration mode.

2. How to implement and promote automated testing in the company?

1. The project team researches and selects automation tools and holds a meeting to demonstrate demo cases. We mainly demonstrate selenium and robotframework.

2. Build an automated testing framework and gradually implement automation in the project.

3. Solidify the automation process and framework of the project into documents 

4. Promote to other project team applications of the company

3. Please describe the automated testing process?

1. Write an automated test plan

2. Design automated test cases

3. Write automated test frameworks and scripts

4. Debug and maintain the script

5. Unattended testing

6. Later script maintenance (adding use cases, developing updated versions)

4. How to write automated test cases? Choose one of the following answers:

1. The use case is designed by the automation test engineer himself. Generally, the basic business process is the main one at the beginning (login--complete a business--exit)

2. Screened from system test cases or provided by business engineers

5. What was the execution strategy of automated testing in the previous project?

In the previous project, it was executed regularly, and the set execution time was 12 o'clock in the evening. After the execution was completed, an email notification would be sent automatically

6. Are there many bugs found in automated testing?

Not many, because the project team used to write automated scripts for the basic functions that have been tested and execute automated tests in subsequent versions. It is mainly to ensure that the functions that have passed the test will have no problems after the new version is updated.

7. What do you think is the value of automated testing? Why does your company need automated testing?

After citing automated testing, it can replace a large number of tedious regression testing tasks, liberate business testers, and allow business testers to concentrate on complex business function modules. Automated testing generally automates stabilized functions to ensure There will be no bugs in previously stabilized functions due to product updates

8. Has automated testing ever falsely reported bugs? What about false positives?

There have been false positives. Sometimes the automated test report shows that a bug has been found, but the actual bug does not exist through manual testing.

Common reasons for false positives are:

1. Element positioning is unstable, and the stability of the script needs to be improved as much as possible;

2. The development updated the page but the test did not update and maintain in time!

9. During the automated testing process, what problems did you encounter and how did you solve them?

1. Change the page frequently, and often need to modify the code in the page object class

2. Occasional false positives in automated testing

3. Coverage of automated test results: Jenkins creates folders based on time

4. Automated test code maintenance is more troublesome

5. Automated testing for database comparison data

10. What framework did you use for automated testing in the previous company?

You can name one of the following:

1.python+selenium+unittest+htmltestrunner

2.python+selenium+pytest+allure

3. robotframework+Selenium2Library

11. Does your automation team have its own group?

Of course there is: the group number we use is: 361602262 There are many software testing and automation masters who solve problems in the project, and will also distribute free materials from time to time.

12. In selenium automated testing, what type of testing do you generally complete? Automated coverage?

Mainly smoke testing and regression testing. The regression test mainly writes some scenarios with stable functions, which are realized by automated means to save test time. Because the automated test cases are constantly updated and iterated, there is no deliberate statistics, about 30%-40%!

13. How to highlight the current element during script execution?

This is actually using javaScript to modify the border style of the current element to achieve the highlighting effect.

14. If an element cannot be positioned, what reasons do you generally consider?

1. Page loading elements are too slow, adding waiting time

2. The page has a frame page, you need to jump into the frame frame before positioning

3. The element may be a dynamic element, and the positioning method needs to be optimized. You can use some elements to locate or locate through parent nodes or sibling nodes.

4. The element may be recognized, but it cannot be operated, such as the element is unavailable, unwritable, etc. Need to use js to complete the pre-operation first,

15. What element positioning methods are you familiar with?

id      name      classname       link_text      css      xpath

16. How to deal with the frame page?

First use driver.switch_to.frame() to jump into the frame,

Then operate the page elements,

Use driver.swith_to.default_content() to jump out after the operation

17. How to deal with the alert pop-up window? 

Use the driver.switch_to.alert method to jump to the alert pop-up window first

Then click the OK button through accept, click the cancel button through dismiss, and get the text of the pop-up window through text().

18. How to deal with multiple windows?

This multi-window jump processing is often encountered in projects. That is, when you click a link, the link will be opened in a new tab, and then you need to find elements on the page opened in the new tab,

1. We use driver.current_window_handle to get the current window handle before clicking the link.

2. Click the link again. After clicking, get the handles of all windows through driver.window_handles,

3. Then loop to find the handle of the new window, and then jump to the new window through the driver.switch_to.window() method.

19. How to verify that the element is enabled/disabled/checked?

After locating the element: judge by three methods: isEnabled(), isSelected(), and isDisplayed() respectively.

20. How to handle the drop-down menu?

There is a class called Select in Selenium, which supports the operation of drop-down menus. The method of use is as follows:

1. Positioning elements

2. Convert the positioned element into a Select object.

sel = Select(positioned element object)

3. Select the drop-down box by subscript or value or text.
sel.select_by_index(index);
sel.select_by_value(value);
sel.select_by_visible_text(text);

21. How do you deal with web forms like calendars?

First of all, analyze the front-end code of the calendar plug-in on the current web page to see if it can be realized by element positioning and clicking on the date. If not, you may need to use javascript. There are also some calendar controls that have a text input box, and the sendKeys() method can be used to directly pass in a time data.

22. Give an example to explain the abnormalities you have encountered

Common selenium exceptions are:

NoSuchElementException: No such element exception
TimeoutException: Timeout exception

ElementNotVisibleException: The element is not visible exception
NoSuchAttributeException: No such attribute exception
NoSuchFrameException: No such frame exception

23. Close the difference between quit and close in the browser

To put it simply, both can realize the function of exiting the browser session, close is to close the tab page you are currently focusing on, and quit is to close all browser tab pages and exit the browser session. Knowing these two differences, we know that quit is generally used before the end of the test, and close is used to close a certain page during the execution of the use case.

24. How to implement screenshots in Selenium, and how to implement screenshots only when use case execution fails

In Selenium, a get_screenshot_as_file() method is provided to take screenshots. It is generally used in conjunction with try/except to capture exceptions to take screenshots of errors.

25. How to upload files?

After locating the element, just use the send_keys() method to set it directly, and the parameter is the path of the file to be uploaded.

26. What are the three types of waiting in automation? What are their characteristics?

1. Thread waiting (forced waiting) such as time.sleep(2): The thread is forced to sleep for 2 seconds, and after 2 seconds, the subsequent code is executed. It is recommended to use less.

2. ImplicitlyWait (implicit wait) will continue to search for elements within the specified time range until the element is found or timed out. The characteristic is that it must wait for the entire page to load.

3. WebDriverWait (explicit wait) is usually a function code that we customize. This code is used to wait for an element to be loaded before continuing to execute subsequent codes.

27. Can the test script you write run on different browsers?

Of course, the use cases I wrote can run on the three browsers of IE, Firefox and Google. The idea of ​​implementation is to encapsulate a method and pass in a browser string respectively. If IE is passed in, use IE, if it is passed in FireFox, use FireFox, if it is passed in Chrome, use Chrome browser, and what browser can be used Configure in the general ini configuration file. It should be noted that the drivers used by each browser are different.

28. What is PO mode and why should it be used

PO is the abbreviation of Page Object mode. It is a design idea, which means that a page is regarded as an object, and the operation method between the elements of the page is the properties and behavior of the page object. The PO mode generally uses a three-tier architecture , respectively: base encapsulation layer BasePage, PO page object layer, TestCase test case layer.

29. How does your testing team improve their testing skills?

We have our own software testing technology group: 361602262: If you have any questions about software testing, you can solve them in the group about software testing, interface testing, automation testing, performance testing, interview experience, etc. There are peer masters in the group to communicate with each other technology. Make progress together and grow together!

If you feel that something is wrong, please leave a message or private message, thank you!

5. I wish the interview a success, please accept your offer!

Finally, I wish every job seeker can find their desired job! Immediately realize promotion and salary increase!

So I set up a self-study group for software testing and development. Friends who are learning testing can click the small card below

Guess you like

Origin blog.csdn.net/m0_68405758/article/details/129652487