Ali's ten-year-experience veteran bird spent more than half a year sorting out real software testing interview questions [recommended collection]

Compared with development engineers, software test engineers may not be too deep in the early stage, but they still involve a wide range of areas. In the early interviews for interns or positions for about a year, they mainly asked some basic questions. The knowledge involved mainly includes the use of MySQL database, the use of Linux operating system, software testing framework issues, test environment construction issues, and of course some automated testing and performance testing issues. The interview questions of test engineers are basically the same. The core of the interview lies in the framework module (one to two years of work experience).
Today’s post mainly explains the classic interview questions that were often asked during the previous interview process or the interview process of people around you. If you have any objections or questions you want to ask, you can comment in the background. Reply in the first time!
1. What is your testing career development?
 The more testing experience, the higher the testing ability. So my career development needs time to accumulate, step by step toward a senior test engineer. And I also have a preliminary career plan, accumulate testing experience in the first 3 years, ask myself according to the key points of how to be a good test engineer, constantly update myself and correct myself, and do a good job in testing tasks.
2. What qualities do you think testers need to have?
  To do testing, they should have a certain coordination ability, because testers often have to contact with developers to deal with some problems. If they are not handled well, they will cause some conflicts. If this is the case, the work will not be good. Do. And testers must have a certain amount of patience, sometimes doing tests is very boring. In addition to being patient, testers cannot let go of every possible error.
3. Why are you able to do testing?
  Although my testing technology is not very mature, I think I can still be competent for software testing, because software testing not only requires good technology, but also has certain communication skills. Patience, careful and other external factors. Taken together, I think I am qualified for this job.
4. What is the purpose of testing?
  The purpose of testing is to find out the errors in the software product and make the software meet the user's requirements as much as possible. Of course, it is impossible for software testing to find all errors.
5. What are the stages of testing?
  Generally speaking, it is divided into 5 stages: unit testing, integration testing, confirmation testing, system testing, and acceptance testing 6. The
test object, purpose, test basis, and test method of unit testing?
  Test The object is the program error inside the module, and the purpose is to eliminate the errors and defects in the logic and function of the local module. The test basis is the detailed design of the module, and the test method is the white box test.
7. How to treat overtime?
  I don’t have much opinion on overtime, but I still think that if the time can be arranged reasonably, there won’t be too much overtime.
8. Combining your previous study and work experience, how do you think the test should be done.
  According to my previous work and study experience, I think that to do a good job, you must first have a good communication. Only when the communication is barrier-free, can there be good collaboration and better efficiency. The other thing is that the technology must pass the test , To do the test, you must have enough patience and a good working habit. If you don’t understand, you should ask, and communicate with colleagues in real time. Only in this way can you do a good job in the test.
9. Why did you choose the software testing industry
  ? Because I learned about the software testing industry before, I think its development prospects are very good.
10. Describe the software development and testing process based on your previous work or study experience, which roles are in charge, and what you do. There
  must be architects, development managers, test managers, programmers, and testers. I am mainly responsible for executing test cases for the assigned modules.
11. Tell me about your understanding of software testing/quality assurance based on your experience.
  Software quality assurance and testing is a batch of test cases carefully designed according to the specifications in the software development phase and the internal structure of the program (that is, input data and expected Output results), and run the program according to these test cases to find the wrong process. It is the testing of various aspects of an application to check its functionality, language validity, and its layout.
12. What is the process of software testing?
  Requirements survey: comprehensively understand the system overview, application fields, software development cycle, software development environment, development organization, time arrangement, functional requirements, performance requirements, quality requirements and testing requirements, etc. Estimates of personnel, time and effort required for the project and project quotations based on the system overview.
  Develop a preliminary project plan.
  Test preparation: organizing the test team, training, setting up the test and management environment, etc.
  Test design: carry out test design for each test item according to the test requirements, including the design of test cases and the development of test scripts.
  Test implementation: implement the test according to the test plan.
  Test evaluation: According to the test results, a test evaluation report is issued.
13. What do you understand about SQA's responsibilities and work activities (such as software measurement)?
  SQA is a project team independent of software development. By monitoring the software development process, it is ensured that the software development process follows the specified CMM procedures (if any) Corresponding CMM regulations), timely put forward suggestions and improvement plans for non-conformity items, and report to senior managers for problem solving when necessary. In this way, the introduction of defects is prevented, thereby reducing the maintenance cost of later software. The main work activities of SQA include formulating SQA work plan, participating in the review of stage products, auditing process quality, functional configuration and physical configuration, etc.; measuring the data generated during the project development process, etc.
14. Talk about your understanding of software configuration management.
  During the development process of the project, corresponding configuration management tools should be used to control the change of configuration items (including the products of each stage). The use of configuration management depends on the project size, complexity and risk. s level. The larger the software, the more important configuration management becomes. Also in configuration management, there is a very important concept, that is, the baseline, which is the combination of various configuration items at a certain stage. A baseline provides a formal standard, and subsequent work is based on this standard, and only authorized This standard can only be changed later. Configuration management tools mainly include CC, VSS, CVS, SVN, etc. I have only used SVN, and I am not very familiar with other tools.
15. How to write test plans and test cases
  To be simple, the test plan should include detailed test strategies and test methods, reasonable and detailed resource arrangements, etc. As for test cases, it depends on whether the requirements (including functional and non-functional requirements) are refined to functional points and whether they can be tested wait.
16. You found a bug in the test, but the development manager thinks it is not a bug, how should you solve it.
First, submit the problem to the defect management library for filing. Then, it is necessary to obtain the basis and standards for judgment: according to the requirements specification, product description, design documents, etc., confirm whether the actual results are inconsistent with the plan, and provide a direct basis for confirming whether the defect is confirmed; if there is no document basis, you can use similar software. General characteristics to explain whether there are inconsistencies, to confirm whether it is a defect; to confirm whether it is a defect according to the general usage habits of users; to discuss with relevant personnel such as designers, developers, and customer representatives, to confirm whether it is a defect; reasonable Discussion, explain the reasons for your judgment to the test manager, pay attention to objectivity, rigor, and do not mix personal emotions. Wait for the test manager to make a final decision. If there are still disputes, you can report to the superior through the channels provided by the company policy, and the superior will make a decision.
17. Given you a website, how do you test it?
First, find relevant documents such as requirements description and website design, and analyze the testing requirements. Make a test plan, determine the test scope and test strategy, generally including the following parts: functional test; interface test; performance test; database test; security test; compatibility test design test cases, link test, submit function test
and Interface testing, performance testing.
Database testing: to decide specifically whether it needs to be carried out. Databases generally need to consider connectivity, data access operations, and data content verification.
Security testing:
1. Basic login function checks
2. Whether there are overflow errors that cause system crashes or permission leaks
3. Checks for common security issues in related development languages, such as SQL injection, etc.
4 If advanced security testing is required, make sure to obtain the help of a professional security company, outsource testing, or obtain support for compatibility testing, and determine the supported platform combinations according to the content of the requirements description: browser compatibility; operating system compatibility ; Compatibility of software platform; Compatibility of database to carry out tests and record defects.
18. What is the software life cycle and its model?
The software life cycle is the structural framework of the entire process, activities and tasks of software development, and it is the process from feasibility study to demand analysis, software design, coding, testing, software release and maintenance. After going through requirements, analysis, design, implementation, and deployment, the software will be used and enter the maintenance stage until it gradually dies out due to lack of maintenance costs. Such a process is called "Life Cycle Model".
19. What is software testing? Purpose and principles of software testing
The process of running or testing a system using manual or automated means. Its purpose is to test whether it meets the specified requirements or to clarify the difference between the expected results and the actual results.
The purpose of software testing:
testing is the execution process of the program, the purpose is to find errors;
the principles of software testing:
1. Software testing should be performed as early as possible and throughout the entire software life cycle
2. Software testing should trace requirements
3. The expected output must be determined (or result)
4. Each test result must be checked thoroughly.
5. Strictly implement the test plan and eliminate the randomness of the test.
6. Pay attention to legal and reasonable input, and also pay attention to illegal and unexpected input
. 7. Check whether the program has done something wrong What to do
8. Testing should start from "small scale" and gradually turn to "large scale"
9. Repeated use of the same test will make the software resistant
10. Focus on defect repair
20. What is the role of software configuration management? What does software configuration include?
As a necessary part of the software development process and the basis of software development management, software configuration management runs through the entire software life cycle, and also plays an important role in supporting the macro-management of the software development process, that is, project management. A software development organization that implements software configuration management effectively will make the software development process more predictable, make the system repeatable, and greatly improve the competitiveness of the software organization.
21. What is software quality?
Software quality: the ability of the characteristics of a software product to meet the user's functional and performance requirements.
22. What is the current main test case design method?
1. White box testing:
logic coverage, loop coverage, basic path coverage
2. Black box testing:
boundary value analysis, equivalence class division, error guessing, cause and effect diagram, state diagram, test outline, random testing and Scenario method
23. From which aspects should software security be tested?
Software security testing includes program and database security testing.
According to different system security indicators, testing strategies are also different. Questions to be considered in user authentication security testing:
1. Clearly distinguish different user permissions in the system, whether there will be user conflicts in the system, and whether the system will cause confusion due to changes in user permissions; 2.
Whether the user login password is visible, Can be copied, whether it is possible to log in to the system through an absolute way (copy the link after the user logs in and enter the system directly) whether all authentication marks are deleted after the user logs out of the system, whether it is possible to use the back button to enter the system without entering a password 3. System network
security The test should consider the problem, test whether the protective measures taken are correctly assembled, whether the relevant system patches are applied, simulate unauthorized attacks, and see whether the protection system is strong 4. Use mature network vulnerability inspection tools to check system-related vulnerabilities (that is, use the
latest Try professional hacking tools, now the most commonly used ones are NBSI series and IPhacker IP)
5. Use various Trojan horse inspection tools to check the system Trojan horse situation, and use various anti-plug-in tools to check the plug-in vulnerabilities of each group of programs in the system. 6.
Database security considerations:
whether the system data is confidential (for example, for the banking system, this is particularly important. General websites do not have too high requirements)
system data integrity
, system data manageability,
system data independence
, system data backup and recovery capabilities (whether the data backup is complete, whether it can be restored, and whether the recovery can be completed)
24. What is testing? Use case What is the test script What is the relationship between the two?
A specific set of input data, operation or various environmental settings and expected results provided to the system under test for the implementation of the test. Test scripts are scripts written for automated testing. The writing of test scripts must correspond to the corresponding test cases
25. Briefly describe what is static testing, dynamic testing, black box testing, white box testing, alpha testing and beta testing
Static testing: looking for possible errors in the program code without running the program itself Or the process of evaluating program code.
Dynamic testing is to actually run the program under test, input the corresponding test instance, check the difference between the running result and the expected result, and determine whether the execution result meets the requirements, so as to verify the correctness, reliability and effectiveness of the program, and analyze the system operating efficiency and performance such as robustness.
Black box testing: generally used to confirm the correctness and operability of software functions, the purpose is to detect whether each function of the software can be realized, treat the tested program as a black box, regardless of its internal structure In the case of the relationship between the input and output of a program or the function of a program, the software specification is relied upon to determine the test cases and infer the correctness of the test results.
White-box testing: testing is based on the analysis of the logical structure of the software. It is a code-based test. Testers judge the quality of the software by reading the program code or using single-step debugging in the development tool. Generally, black-box testing is performed by the project manager. Implemented in programmer development.
Alpha testing: It is a test conducted by a user in a development environment, or it can be a controlled test conducted by users within the company in a simulated actual operating environment. Alpha testing cannot be done by programmers or testers.
Beta testing is a test conducted by multiple users of the software under the actual use environment of one or more users. Developers are usually not on site, and beta testing cannot be done by programmers or testers.
26. What are the quality characteristics of software products? ?
Functionality: adaptability, accuracy, interoperability, compliance, security.
Reliability: maturity, fault tolerance, and recovery.
Usability: easy to understand, easy to learn, easy to operate.
Efficiency: time characteristics, resource characteristics.
Maintainability: ease of analysis, ease of change, stability, and ease of testing.
Portability: Adaptability, ease of installation, compliance, and ease of replacement.
27. What is the strategy of software testing? What are the strategies of testing?
Software testing strategy: under the guidance of certain software testing standards and test specifications, the principles, methods and methods of software testing stipulated according to the specific environmental constraints of the test project collection.
Test strategies include black box/white box, static/dynamic, manual/automatic, smoke test, regression test, public beta (Beta test strategy).
28. Software testing is divided into several stages.
Software testing can be divided into four stages: unit testing, integration testing, system testing and acceptance testing.
29. What is the task of a tester in the software development process?
1. Find bugs;
2. Avoid defects in the software development process;
3. Measure the quality of software;
4. Pay attention to user needs.
The overall goal is: to ensure the quality of the software.
30. Black-box testing and white-box testing are two basic methods of software testing. Please explain their respective advantages and disadvantages.
The advantages of black-box testing are:
1. It is relatively simple and does not need to understand the internal code and implementation of the program; 2. From the perspective of
the user, it is easy to know which functions the user will use and what problems they will encounter;
3. Based on the software development document, it is also possible to know which functions the software implements in the document;
4. It is more convenient when doing software automation testing.
The disadvantages of black-box testing are:
1. It is impossible to cover all the codes, and the coverage rate is low, which can only reach 30% of the total code volume;
2. The reusability of automated tests is low. The advantages
of white box testing are: 1.
Help software testers increase code coverage, improve code quality, and discover hidden problems in code. It is possible to test all the running paths; 2. The test is based on the code. It can only test whether the developer is doing right, but cannot know whether the design is correct or not. Some functional requirements may be missed; 3. When the system is huge, the test overhead will be very high big. 31. How to test a paper cup? 1. Functionality: whether the water in the cup is filled without leaks; whether the water can be drunk; 2. Safety: whether the cup is poisonous or bacteria; 3. Reliability: the damage degree of the cup falling from different heights; 4. Reliability Portability: Whether the cup can be used normally in different places, temperatures and other environments; 5. Compatibility: Whether the cup can hold fruit juice, white water, alcohol, gasoline, etc.; 6. Ease of use: Whether the cup is hot and non-slip Measures, whether it is convenient to drink;











7. User documentation: Does the user manual describe in detail the usage, restrictions, and conditions of use of the cup;
8. Fatigue test: Fill the cup with water (case 1) and leave it for 24 hours to check the time and condition of leakage; fill it with gasoline (case 1) 2) Put it on for 24 hours to check the leakage time and conditions, etc.
9. Pressure test: use a needle and keep adding weight on the needle to see how much pressure it will penetrate.
32. What is the purpose of the test plan? What should be included in the test plan document? Which of these are the most important?
Answer: A software test plan is a programmatic document that guides the testing process.
It includes product overview, test strategy, test method, test area, test configuration, test cycle, test resource, test communication, risk analysis, etc. With the help of the software test plan, the project members involved in the test, especially the test managers, can clarify the test tasks and test methods, maintain smooth communication in the test implementation process, track and control the test progress, and deal with various changes in the test process.
There is a strategic and tactical relationship between the test plan and the test specification and test cases. The test plan mainly plans the scope, method and resource allocation of the test activity from a macro perspective, while the test specification and test cases are the specific tactics for completing the test task.
So the most important thing is to test the test strategy and test method (it is best to be able to review first).
33. What are the common design methods of test cases for black box testing?
1) Equivalence class
division: Equivalence class refers to a subset of an input field. In this subset, each input data is equivalent to revealing errors in the program. It is reasonably assumed that: Testing the representative value of a certain equivalence class is equivalent to testing other values ​​of this class. Therefore, all input data can be divided into several equivalence classes reasonably, and one data in each equivalence class is taken as the input condition of the test. A small amount of representative test data can be used to obtain better test results. There are two different situations for equivalence class division: effective equivalence class and invalid equivalence class. 2
) Boundary value analysis method
The method of boundary value analysis is a supplement to the method of equivalence class partitioning. Test work experience tells me that a large number of errors occur on the boundary of the input or output range, rather than inside the input and output range. Therefore, designing test cases for various boundary conditions can detect more errors. Use boundary To design test cases by value analysis method, the boundary conditions should be determined first. Usually, the boundaries of the input and output equivalence classes are the boundary conditions that should be focused on testing. Values ​​that are just equal to, just greater than or just less than the boundary should be selected as test data instead of Select typical values ​​or arbitrary values ​​in the equivalence class as test data.
3) Error guessing method
Based on experience and intuition to speculate on all possible errors in the program, so as to design test cases in a targeted manner
4) Causal diagram method
Both the equivalence class division method and the boundary value analysis method introduced above focus on the consideration of the input conditions, but do not consider the relationship between the input conditions, mutual combination, etc. Considering the mutual combination of the input conditions may produce some new However, it is not an easy task to check the combination of input conditions. Even if all the input conditions are divided into equivalence classes, there are quite a lot of combinations among them. Therefore, it is necessary to consider using a method suitable for describing multiple conditions The combination of multiple actions correspondingly generates multiple actions to consider the design of test cases. This requires the use of causal diagrams (logic models). The final result of the causal diagram method is the decision table. It is suitable for checking various combinations of program input conditions.
5) Orthogonal table analysis
sometimes may cause a surge in the number of test cases due to the combination of a large number of parameters. At the same time, these test cases have no obvious gap in priority, and testers cannot complete so many The test can reduce some use cases through the orthogonal table, so as to achieve the possibility of covering as large a range as possible with as few use cases as possible.
6) Scenario analysis method
refers to simulating the user's operation steps according to the user scenario. This is similar to the cause-and-effect diagram, but the depth and feasibility of execution may be better.
7) State diagram method
Obtain all states of the system under test through input conditions and system requirements description, obtain output conditions through input conditions and states; obtain test cases of the system under test through input conditions, output conditions and states.
34. Describe in detail the complete process of a test activity.
1. The project manager completes the requirements document through communication with the customer.
2. The developers and testers jointly complete the review of the requirements document.
3. The project manager completes the project plan by integrating the opinions of the developers, testers and customers.
4. SQA enters the project, and begins to make statistics and tracking. The developers complete the requirements analysis documents according to the requirements documents, and the testers conduct reviews. The main content of the reviews includes whether there are omissions or differences in understanding between the two parties. The tester completes the test plan document, and the content included in the test plan is described above.
5. Write test cases, and at the same time, developers complete the outline design document and detailed design document. These two documents become supplementary materials for testers to write test cases.
6. After the test cases are completed, the testing and development needs to be reviewed.
7. Testers set up the environment, and developers submit the first version. There may be unfinished functions that need to be explained. The tester conducts the test and submits after discovering the BUG.
8. The developer submits the second version, and the tester conducts the test. Repeat the above work. Generally, after 3-4 versions, the number of BUGs will decrease and meet the requirements for shipment. If there are problems reported by customers, testers are required to assist in reproducing and retesting.
35. Software acceptance testing includes three types: ___, ___, and ____.
Software acceptance testing includes formal acceptance testing, alpha testing, and beta testing.
36. There are 15 methods such as _________ for system testing strategies. (15 blanks for this question)
Performance testing, load testing, strength testing, usability testing, security testing, configuration testing, installation testing, documentation testing, failure recovery testing, user interface testing, recovery testing, distribution testing, usability testing.
37. The project documents that need to be referred to when designing a system test plan are ___, ___ and ____.
Software test plans, software requirements artifacts, and iteration plans.
38. When did the software testing project start? Why?
Software testing should be involved in the requirements analysis stage, because the object of testing is not only program coding, but all products generated during the software development process should be tested, and software defects tend to amplify. The later a defect is found, the more it will cost to fix it 39. What
is regression testing? ?
Regression testing: (regression testing): There are two types of regression testing: use case regression and error regression
; The use case is being retested to see if the problem will be rediscovered.
2. Error regression is a method of re-verifying the defects that appeared and repaired in the previous version in the new version, and testing the relevant modified parts with the defects as the core.
40. What is the focus of unit testing, integration testing, and system testing?
1. Unit testing: for the smallest unit of software design - program modules (functions and procedures in process-oriented; classes in object-oriented), the test for correctness is to discover the possible existence of each program module. Error. Generally, there are two steps: manual static inspection\dynamic execution tracking
2. Integration test: it is aimed at inspecting the components integrated by each module that has passed the unit test, and its main content is the interface between each unit module. And the functions realized after the integration of each module.
3. System testing: for the integrated software system, as an element of the entire computer system, combined with other system elements such as computer hardware\peripherals\some support software\data and personnel, etc., it must be in actual operation In the environment, a series of integration tests and confirmation tests are carried out on the computer system.
Finally, a 13G super practical dry goods learning resource is specially prepared for everyone, and the content involved is very comprehensive. Including, 2023 software testing interview collection, various selected resumes for software testing job hunting, software learning roadmap, more than 50 days of class videos, 16 surprise combat projects, more than 80 software testing software, 37 test documents, 70 Questions related to software testing, 40 articles on testing experience, and thousands of real test questions to share. Comment me if you need

 

Guess you like

Origin blog.csdn.net/qq_73332379/article/details/130372200