Software testing basic interview questions (including documents + answers)

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 possess?

You should have a certain ability to coordinate when doing testing, because testers often have to deal with some problems in contact with development, if they are not handled properly, some conflicts will arise, and it will be difficult to do work in this way. 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 this line of testing?

Although my testing technology is not very mature, I think I can still be qualified for the job of software testing, because software testing not only requires good technology, but also has certain external factors such as communication skills, patience, and care. Taken together, I think I am qualified for this job.

4. What is the purpose of the test?

The purpose of testing is to find out the errors in the software product, so that the software meets 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 the test?

Generally divided into 5 stages: unit testing, integration testing, confirmation testing, system testing, acceptance testing

Analyzing a self-organized software testing data basically covers all the core technical points of software testing: testing theory, Linux basics, MySQL basics, Web testing, interface testing, App testing, management tools, Selenium-related, performance testing, computer networks, composition principles, data structures and algorithms, logic questions, human resources, technical brain maps, etc. The quality is very high ! ! ! More than enough for technical interviews!

6. What is the test object, purpose, test basis and test method of unit test?

The test 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 do you view overtime work?

I don't have much opinion on working overtime, but I still think that if you can arrange your time reasonably, you won't have too much time to work overtime.

8. Based on your previous study and work experience, how do you think the test should be done well?

According to my previous work and study experience, I believe that good communication is the first thing to do a good job. Only when the communication is barrier-free, can there be good collaboration and better efficiency. Another thing is that the technology must pass the test. You must have enough patience in testing, and a good working habit. Ask if you don’t understand, and communicate with colleagues in real time. Only in this way can you do a good job in testing.

9. Why did you choose the software testing industry?

Because I knew about the software testing industry before, I think his development prospects are very good.

10. Based on your previous work or study experience, describe the software development and testing process, which roles are responsible, and what do you do?

There are architects, development managers, test managers, programmers, 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 process of carefully designing a batch of test cases (ie, input data and expected output results) according to the specifications of the software development stage and the internal structure of the program, and running the program according to these test cases to find errors. 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. According to the system overview, estimate the personnel, time and workload required for the project and project quotation, and make 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 is your understanding of 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 can ensure that the software development process follows the specified CMM procedures (if there is a corresponding CMM procedure), and promptly proposes suggestions and improvement plans for non-conforming items. When necessary, it can report to the senior manager for problem solving. In this way, the introduction of defects is prevented, thereby reducing the maintenance cost of later software. The main work activities of SQA include making 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. Tell me 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 scale, complexity and risk level. The larger the software, the more important configuration management becomes. Also in configuration management, there is a very important concept, that is, baseline, which is a combination of various configuration items at a certain stage. A baseline provides a formal standard, and subsequent work is based on this standard, and this standard can only be changed after authorization. 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 put it simply, 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, whether they can be tested, etc.

16. Tell me about the general situation of mainstream software engineering ideas (such as CMM, CMMI, RUP, XP, PSP, TSP, etc.) and your understanding of them?

CMM: SW Capability Maturity Model Software Capability Maturity Model, its function is the improvement, evaluation and evaluation of software process and software capability.

CMMI: Capability Maturity Model Integration Capability Maturity Model Integration CMMI incorporates most of the latest software management practices while making up for the deficiencies in the SW-CMM model.

RUP: rational unified process is the process of software engineering.

XP: extreme program, which means extreme programming, is suitable for software development of small teams. Like the third question above, such a development process can be combined with the prototype method. To understand the importance of testing for xp development, emphasize the concept of testing (focusing on unit testing) first. Programming can significantly improve the quality of code, and continuous integration is good for quickly locating problems.

PSP and TSP are individual software process and group software process respectively. Everyone knows that CMM just tells you what to do but doesn't tell you how to do it, so PSP/TSP tells you how to do it in the process of implementing CMM. PSP emphasizes building personal skills (how to make plans, control quality and how to cooperate with others, etc.). And TSP focuses on producing and delivering high-quality software products (how to effectively plan and manage the project development tasks faced, etc.). In short, the implementation of CMM can never really improve the maturity of capabilities. Only by combining the implementation of CMM with the implementation of PSP and TSP can the maximum effectiveness be brought into play. Therefore, the software process framework should be an organic integration of CMM/PSP/TSP.

17. How do you ensure the quality of the software, that is to say, how do you think the quality of the software can be guaranteed to the greatest extent?

Testing cannot guarantee the quality of software to the greatest extent. The high quality of software is developed and designed, not tested. It not only requires the monitoring of the software development process, but also enables all stages of software development to follow the specified procedures. Through the review of the products of each stage, QA's monitoring of the process, and the audit of functions and configurations, the optimization of development is achieved. Of course, testing is also an important way to ensure software quality, and is an important part of software quality assurance engineering.

18. Based on the current national conditions in China, most companies have tight project schedules, fewer personnel, and no or very irregular requirements documents. How do you think to ensure the quality of software in this situation? (What most companies want to know most is how you can ensure the quality of software in the face of such difficulties, because this is generally the case for these companies – they don’t want to invest too much and want to ensure quality)

In the above situation, if you only want to improve software quality through testing, it is almost impossible. The reason is that there is not enough time for you to test, and the lack of standardized documents prevents the test requirements from being refined enough and targeted. Therefore, as the company's quality assurance, it is necessary to determine with the project manager the appropriate software life cycle model (such as RUP's building materials and prototype method), clarify the project development process, and urge the project team to work according to this process. All project team members (the project manager is more important) must formulate a reasonable work plan, strengthen code unit testing, and carry out continuous integration of products within the customer's predetermined product delivery date range. If time permits, they can cooperate with customers to carry out necessary system function tests.

19. What qualities and skills should a test engineer possess?

Master basic testing fundamentals

Test with the attitude of finding out the problems existing in the software, don't appear as a picky image

Proficiency in reading requirements specifications and other documents

Look at the problem from the user's point of view

Have a strong sense of quality

careful and responsible

Good and effective communication (with developers and clients)

With previous testing experience, it is possible to promptly and accurately determine where the high-risk areas are

20. Some key points of software testing

Must have relevant training in testing fundamentals and theory

Testers must be familiar with system functions and business

The test must be planned, and the test plan must be coordinated with the overall project plan

Writing test cases must be implemented, and the test execution phase must be carried out according to the test cases

Functional and non-functional requirements such as usability, functionality, branching, boundaries, and performance are all tested

For complex processes, it is necessary to carry out process branching, combine condition analysis, and then perform equivalence class division to prepare relevant test data

An important part of test design is to prepare specific test data and know which scenario or branch the test data is for testing.

For personal tasks, at least one bug should be found for every three test cases on average, otherwise it can only mean that the quality of the test cases is not good

Except for the repeated tests built every day, test automation can be considered, and others should not be considered for the time being.

21. What is your opinion on overtime?

Answer: If the company's project requires overtime, I will actively participate. Our previous company also worked overtime, so I understand this situation. Also does a good job.

22. Why do you want to carry out testing work in a team?

Because it is difficult to know the quality of software without testing before it is released, just like ISO quality certification, testing also requires quality certification. At this time, software testing needs to be carried out in the team. In the process of testing, the problems in the software are found, and the developers are notified and corrected in time. When the release is about to be released, the quality of the software can be obtained from the test report.

23. What types of software testing are you familiar with?

Test types include: functional test, performance test, interface test

Functional testing accounts for the largest proportion of testing work, and functional testing is also called black box testing

Performance testing is to test various performance indicators of the system by simulating various normal, peak and abnormal load conditions through automated testing tools. Both load testing and stress testing are performance testing, and the two can be combined

Interface testing, the interface is the most direct layer of interaction between the software and the user, the quality of the interface determines the user's first impression of the software

The difference is that functional testing focuses on all the functions of the product, taking into account every detailed function and every possible functional problem. Performance testing mainly focuses on the stability and robustness of the product as a whole under multi-user concurrency. Interface testing focuses on content related to user experience, whether the user has used the product when using it, whether it is easy to understand, and whether it is standardized (users input invalid data unintentionally, of course, considering the experiential nature, warnings cannot be too rude). When doing a certain performance test, it may be a functional point first, and it must first ensure that its function is correct, and then consider the performance issue.

24. What are the test cases for writing?

Answer: Equivalence class, boundary value, error guessing method, scene method, these are the methods I usually use

25. What is the difference between Beta testing and alpha testing?

A: The alpha test is an acceptance test conducted within the company in a simulated actual operating environment. The company will organize internal employees to conduct the test. The alpha test cannot be completed by programmers or testers.

Beta testing is a test performed by multiple users of the software under the actual use environment of one or more users. Beta testing cannot be done by programmers or testers.

26. How many tests did the previous company have, and how did you distribute the work?

Answer: There are 3 people in the test. The boss is responsible for assigning our tasks. Each person is responsible for the corresponding modules or different clients, and it is enough to complete the tasks at one end of their own time.

27. Why did you resign from your previous job?

Answer: 1. The previous company was relatively idle, which was not conducive to my long-term development, so I left

2. The business of the previous company is relatively small. Basically, there are relatively few things to do. Young people have to work harder, so I choose to leave my job and go to a busier company. (2 choose 1)

28. Can you talk about your company's project process or introduce your company's work process? What are the outputs at each stage?

Answer: First, a demand analysis meeting will be held. The participants include product, development and testing, mainly to discuss some main functional points of the demand; then the development will be scheduled for development, and the supervisor will start to write the test plan and assign tasks to us.

We write test cases with reference to the requirements specifications and prototype diagrams. After writing, we will review the use cases. If there is any review and modification, we will modify and organize them to form the final use case version. After the developer version is compiled, we will first make predictions, mainly testing the main functional business. If the main business process fails, it will be directly returned to the development for modification. The prediction is passed, and the system test is carried out according to the test case. During the testing process, submit bugs, track bugs, perform regression tests until no serious bugs exist, meet user needs, and write test reports after testing; after the product is released and launched, pay attention to whether the web is running normally, and conduct regular maintenance tests.

29. Have you ever written a test plan or test report? What are the main steps and information included in the test plan? What does the test report include? What are the test report delivery documents?

Answer: Yes; 1. The test plan includes: project information, participation documents, test scope, test strategy, test time and personnel arrangement, and test environment; 2. The test report includes: project background, reference materials, test scope, test results and defect analysis, test conclusions and recommendations, and risk assessment; 3. Delivery documents: mainly test cases, test plans, and test reports.

30. How to deal with bugs with low recurrence rate?

First try to reproduce the problem in the environment where the problem occurred, keep the browser environment, the specific account where the problem occurred, etc., and if the problem cannot be reproduced after multiple attempts, it should also be recorded on the bug platform, and the characteristic steps of the problem should be described as clearly as possible, with screenshots of the problem and log screenshots, indicating occasional occurrences; if the project time allows, the bug level is high, and development assistance is needed to reproduce; if time does not allow, record it on the BUG platform and follow up.

31. What is the life cycle of a bug?

Answer: The life cycle of a bug is the process from when a bug is discovered to when the bug is closed. The general status of defects in the life cycle: new, assigned, resolved, pending, closed

If the bug to be verified is not resolved during the verification, we need to reopen (activate) → assign → resolved → pending inspection, cycle this process, and other states in the middle: reopen, reject, postpone, etc.

32. When you mention a bug, the development thinks it is not a bug, how to deal with it?

A: First, confirm whether the development environment is consistent with your own test environment, and confirm that it can be reproduced in the test environment. If it is confirmed that the defect is a defect, maintain effective communication with the development. If it is a low-level suggested bug, you can first record it on the bug platform and keep the communication first. If it is a problem with a high bug level, the expected results of the corresponding requirements document and the development instructions are more convincing; patiently explain the harm of the BUG, ​​if it fails, find the product to confirm, if it is indeed a BUG, ​​indicate the situation and assign it to the developer again

33. Is there any bug you are impressed with? The reason for the bug?

Answer: If the ID card ends with X, the real-name authentication shows success, but when withdrawing cash later, an error will be reported. Later, it was found that it was saved in the library, and it was all lowercase X, which caused the withdrawal to not be recognized. The reason for the deep impression is that it took a certain amount of time to find this bug and try to locate the cause by myself, so I was deeply impressed.

Finally, I wish everyone can find the job they want, work happily, live happily, have a broad world, and make great achievements. I also sorted out a wave of software testing documents released before [Click on the small card at the end of the article to get it for free], no routine to get it!

The entire document has a total of 208 pages. It is definitely unrealistic to show you all of them. In order not to affect your reading experience, only part of the content is shown. I hope everyone will be happy with it. I hope it can help you review before the interview and find a good job, and save everyone time searching for information on the Internet to learn!

Guess you like

Origin blog.csdn.net/HUA1211/article/details/131858434