A collection of software test engineer interview questions, it is recommended to collect a wave!

You can take a look at what you have read to deepen your memory. Before the interview, you can read the interview questions and get twice the result with half the effort. I don't tell most people. Let's take a look at the interview questions.

Q:

1. What is your testing career development?

A:

The more test experience, the higher the test ability. So my career development takes time to accumulate, step by step towards a senior test engineer. And I also have a preliminary career plan. I have accumulated test experience in the first 3 years. I ask myself according to the key points of how to be a test engineer, constantly update myself, correct myself, and do test tasks.

Q:

2. What qualities do you think testers need to possess?

A:

Testing should have a certain degree of coordination, because testers often have to deal with some problems with the development, if they are not handled well, it will cause some conflicts, and then it will be difficult to do the work. Also, testers must have a certain degree of patience, sometimes it is boring to do tests. Except for patience, testers cannot let go of every possible mistake.

Q:

3. Why can you do the test?

A:

Although my testing technology is not very mature, I think I can still do the job of software testing, because doing software testing requires not only good technology, but also a certain degree of communication skills, patience, carefulness and other external factors. Taken together, I think I am qualified for this job.

Q:

4. What is the purpose of the test?

A:

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, software testing is impossible to find all errors.

Q:

5. What are the stages of testing?

A:

Generally speaking, it is divided into 5 stages: unit test, integration test, confirmation test, system test, acceptance test

Q:

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

A:

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 partial module. The test basis is the detailed design of the module, and the test method is white box testing.

Q:

7. How to treat overtime problem?

A:

I don’t have much opinion about working overtime, but I still feel that if I can arrange the time reasonably, there won’t be too much overtime.

Q:

8. Combined with your previous study and work experience, how do you think you can do a good test.

A:

Based on my previous work and learning experience, I believe that doing a good job first requires good communication. Only when communication is barrier-free can there be good collaboration and better efficiency. The other is that technology must pass the test. , You need to have enough patience to do the test, and a good working habit, ask if you don’t understand, and communicate with colleagues in real time to do a good job in the test.

Q:

9. Why did you choose the software testing industry?

A:

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

Q:

10. Describe the software development and testing process based on your previous work or study experience. Which roles are in charge and what do you do?

A:

There are architects, development managers, test managers, programmers, and testers. I am mainly responsible for executing test cases for the assigned modules.

Q:

11. Talk about your understanding of software testing/quality assurance based on your experience

A:

Software quality assurance and testing is a batch of test cases (that is, input data and expected output results) carefully designed according to the specifications of the software development phase and the internal structure of the program, and run the program according to these test cases to find errors process. It is to test all aspects of the application to check its function, language validity and appearance arrangement.

Q:

12. What is the process of software testing?

A:

Demand survey: a comprehensive understanding of the system overview, application areas, software development cycle, software development environment, development organization, time arrangement, functional requirements, performance requirements, quality requirements and testing requirements, etc. Estimating the personnel, time and workload required for the project and project quotation based on the system overview, and formulating a preliminary project plan.

Test preparation: organize test team, training, establish test and management environment, etc.

Test design: Carry out the test design of each test item in accordance with the test requirements, including the design of test cases and the development of test scripts.

Test implementation: Implement testing according to the test plan.

Test evaluation: According to the test results, a test evaluation report is issued.

Q:

13. Your understanding of SQA's responsibilities and work activities (such as software measurement)?

A:

SQA is a project team independent of software development, through monitoring the software development process, to ensure that the software development process is in accordance with the specified CMM regulations (if there are corresponding CMM regulations), and timely suggestions and improvement plans are necessary for non-conforming items. You can report to the senior manager to solve the problem. Through this approach to prevent the introduction of defects, thereby reducing the maintenance cost of the later software. SQA's main work activities include formulating SQA work plans, participating in the review of phased products, conducting process quality, functional configuration and physical configuration audits, etc.; measuring the data generated in the project development process, etc.

Q:

14. Tell me about your understanding of software configuration management

A:

In the development process of the project, the corresponding configuration management tools should be used to control the configuration items (including the products of various stages). The use of configuration management depends on the scale and complexity of the project and the level of risk. The larger the scale of the software, the more important configuration management becomes. There is also a very important concept in configuration management, that is, the 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 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.

Q:

15. How to write test plans and test cases?

A:

Keep it simple, the test plan should have 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 the functional point and whether they can be tested Wait.

Q:

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

A:

CMM: SW Capability Maturity Model software capability maturity model, its role is to improve the software process, evaluation and software capability evaluation.

CMMI: Capability Maturity Model Integration Capability Maturity Model Integration CMMI integrates most of the latest software management practices, and at the same time makes up for the shortcomings 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 the software development of small teams. The third question above can be combined with the prototype method to adopt such a development process. To understand the importance of testing for xp development, emphasize the concept of testing (focus on unit testing) first. Programming can significantly improve the quality of the 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 only tells you what to do but does not tell you how to do it, so PSP/TSP tells you how to do in the process of implementing CMM. PSP emphasizes the establishment of personal skills (how to make plans, control quality and how to Other people collaborate with each other, etc.). The TSP focuses on the production and delivery of high-quality software products (how to effectively plan and manage the project development tasks faced, etc.). In short, the implementation of CMM can never truly improve the maturity of capabilities. Only by organically combining the implementation of CMM with the implementation of PSP and TSP can the greatest effect be achieved. Therefore, the software process framework should be an organic integration of CMM/PSP/TSP.

Q:

17. How do you guarantee the quality of the software, that is to say, how do you think you can guarantee the quality of the software to the utmost extent?

A:

Testing cannot guarantee the quality of software to the utmost extent. The high quality of software is developed and designed, not tested. It must not only monitor the software development process, but also ensure that all stages of software development must be specified To achieve the optimization of development through the review of products at each stage, QA monitoring of the process, and auditing of functions and configurations. Of course, testing is also an important way to ensure software quality and an important part of software quality assurance engineering.

Q:

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 the quality of the software can be guaranteed in this case? (The thing most companies want to know most is how you can guarantee the quality of the software in the face of such difficulties, because these companies are generally like this-neither want to invest too much but want to ensure quality)

A:

In the above situation, if you only want to improve the quality of the software through testing, it is almost impossible. The reason is that there is not enough time for you to test. The lack of non-standard documents makes the test requirements unable to be refined enough and targeted. OK test. Therefore, as the cause of the company’s quality assurance, the project manager should determine the software life cycle model (such as RUP building materials, prototype method) that is consistent with the project itself, clarify the development process of the project and supervise the project team to carry out work in accordance with this process, all projects Team members (the project manager is more important) must formulate a reasonable work plan, strengthen the unit test of the code, conduct continuous integration of the product within the customer's established product delivery date range, etc., if time permits, they can cooperate with the customer to carry out the necessary System function test.

Q:

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

A:

Master the basic theory of testing. Test
with the attitude of finding out the problems in the software. Don’t appear in a prickly image. Be
proficient in reading requirements specifications and other documents
. Look at problems from the user’s point of view.
Have a strong sense of quality . Be
careful and responsible
. Effective communication methods (with developers and customers)
have previous testing experience to be able to timely and accurately determine where the high-risk area is
Q:

20. Some key points of doing software testing

A:

Testers must be trained in basic knowledge and theory of testing

Testers must be familiar with system functions and business

The test must have a plan, and the test plan must be well coordinated with the entire project plan

It must be realized to write test cases, and the test execution phase must be carried out according to the test cases

Ease of use, functions, branches, boundaries, performance and other functional lines and non-functional requirements must be tested

For complex processes, it is necessary to perform process branching, combination condition analysis, and then 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 tested on.

On average, every three test cases of individual tasks should find at least one BUG, ​​otherwise it can only indicate that the quality of the test cases is not good

Except for repetitive tests that are built every day, you can consider test automation. Don’t consider automating for the time being.

Q:

21. Cultivating the quality of software testers

A:

First of all, you should be interested in software testing and have confidence in yourself. If you have these two points, then no matter what difficulties you encounter in the development process, I believe you will be able to overcome them.

Good at doubting, in fact there is no absolute right, there is always something wrong, with rebellious psychology, what others think is impossible, I think it may happen, others think it is right, but I think it is not right

Break the spirit of asking the bottom of the casserole, and for the BUG that has only appeared once, we must find out the reason, and we will not give up unless we solve it.

Keep a good mood, otherwise you may not be able to do the test well. Don't bring unpleasant emotions in life to work

Be careful when doing the test, not all bugs can be easily found, you must be careful to find these bugs

Be flexible, smart, and create more examples that are prone to BUG

If possible, communicate with customers more, they have what you need

Put yourself in your mind and test the system from their perspective

Don’t let the programmer persuade you with the phrase “this situation can’t happen”. On the contrary, you should convince him and tell him that it’s not like this

Consider the problem comprehensively, considering the needs of customers, business processes and system architecture.

Do not complicate the question. This is inconsistent with the previous one. If you are a novice, don’t worry about it for the time being, because your team members will discuss and resolve it.

Pursue perfection. For new testers, strive for perfection. This is good for you. Although some things cannot be done, you should try

A sense of humor and good communication with the development team is the key. Try to find a bug killer for your development team, or say to them, "I can't believe it, the program you wrote hasn’t found a bug until now."

Q:

22. Why do testing work in a team?

A:

Because it is difficult to know the quality of the software before it is released without testing, 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, discover the problems in the software, let the developers know and modify the problems in time, and get the quality of the software from the test report when it is about to be released.

Q:

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

A:

Test types are: function test, performance test, interface test

Functional testing occupies the largest proportion of testing work. 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. Load test and stress test are both performance tests, the two can be combined

Interface testing, the interface is the most direct layer 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 overall product under multi-user concurrency. Interface testing focuses on user experience-related content, whether the user has used the product, whether it is easy to understand, and whether it is standardized (the user accidentally enters invalid data, of course, considering the experience, not too rude pop-up warning). When doing a performance test, first of all, it may be a function point. First, ensure that its function is correct, and then consider performance issues.

Q:

24. What do you think is the key to good test case design?

A:

The key to the design of white box test cases is to cover as many internal program logic structures as possible with fewer use cases. The key to black box test case design is also to cover module output and input interfaces with fewer use cases. It is impossible to achieve complete testing and find the most problems in a reasonable time with the least use cases. The black box testing of software means that the testing should be carried out at the interface of the software. This method regards the test object as a black box. The tester does not consider the logic structure and internal characteristics of the program at all, and only according to the requirements and specifications of the program Manual, check whether the function of the program conforms to its function description. Therefore, black box testing is also called functional testing or data-driven testing. Black box testing is mainly to find the following types of errors:

Are there any incorrect or missing features

On the interface, can the input be accepted correctly? Can output correct results

Are there data structure errors or external information (such as data files) access errors

Whether the performance can meet the requirements

Are there any initialization or termination errors

White box testing of software is a detailed inspection of the procedural details of the software. This method treats the test object as an open box, which allows testers to use the logic structure and related information within the program to design or select test cases to test all logic paths of the program. By checking the state of the program at different points, it is determined whether the actual state is consistent with the expected state. Therefore, white box testing is also called combined testing or logic-driven testing. The main purpose of white box testing is to check program modules as follows:

Test all independent execution paths of program modules at least once

For all logical judgments, the two cases of "true" and "false" can be tested at least once

Execute the loop body within the boundary of the loop and the boundary of the operation

Test the validity of internal data structures, etc.

Q:

25. Please introduce in detail the meaning of various test types

A:

A unit test (module test) is a small piece of code written by a developer to check whether a small, clear function of the code under test is correct. Generally speaking, a unit test is used to determine the behavior of a specific function under a specific condition (or scenario). Unit testing is done by the programmer himself, and the programmer himself will ultimately benefit. It can be said that programmers have the responsibility to write functional code, but also have the responsibility to write unit tests for their own code. Perform unit tests to prove that the behavior of this code is consistent with what we expect

Integration testing (also called assembly testing, joint testing) is a logical extension of unit testing. Its simplest form is: two units that have been tested are combined into a component, and the interface between them is tested. From this level, components refer to the integration of multiple units. In a real solution, many units are combined into components, and these components are aggregated into a larger part of the program. The method is to test the combination of fragments and eventually expand the process to test your module together with other groups of modules. Finally, all modules that make up the process are tested together

System testing is to assemble the tested subsystems into a complete system for testing. It is an effective method to check whether the system can indeed provide the functions specified in the system plan specification. (Common joint debugging test). The purpose of system testing is to conduct a comprehensive test on the final software system to ensure that the final software system meets the product requirements and follows the system design

Acceptance testing is the last test operation before deploying the software. The purpose of acceptance testing is to ensure that the software is ready, and allows users to perform the established functions and tasks of the software. Acceptance testing is to show future users that the system can work as ordered. After the integration test, all the modules have been assembled into a complete software system according to the design, and the interface errors have been basically eliminated. Then the effectiveness of the software should be further verified. This is the task of acceptance testing, that is, the function and function of the software. Performance as expected by users

Q:

26. What is the purpose of test planning? What does the test plan work include? Which of these are the most important?

A:

Software test plan is a programmatic document for knowing the test process, including product overview, test strategy, test method, test area, test configuration, test cycle, test resources, test communication, risk analysis, etc. With the help of the software test plan, the project members participating 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 respond to various changes in the test process.

There is a strategic and tactical relationship between the test plan and the detailed test specifications and test cases. The test plan mainly plans the scope, methods and resource allocation of test activities from a macro perspective, while the detailed test specifications and test cases are specific tactics for completing the test tasks. So the most important thing is the test strategy and test method (preferably reviewed first).

Q:

27. What do you think is the key to a good test plan?

A:

Clarify the test objectives and enhance the practicality of the test plan

The important purpose of writing a software test plan is to enable the testing process to find more software defects. Therefore, the value of the software test plan depends on its ability to help manage test projects and find out potential software defects. Therefore, the test scope in the software test plan must highly cover functional requirements, the test method must be practical and feasible, the test tool must be highly practical, easy to use, and generate accurate test results.

Adhere to the "5W" rule, clarify the content and process

The "5W" rule refers to "WHAT (what)", "WHY (why to do)", "WHEN (when to do)", "WHERE (where)", "HOW (how to do)". Using the "5W" rule to create a software test plan can help the test team understand the purpose of the test (WHY), clarify the scope and content of the test (WHAT), determine the start and end date of the test (WHEN), and point out the testing methods and tools ( HOW), give the storage location of the test document and software (WHERE).

Adopt a review and update mechanism to ensure that the test plan meets actual needs

After the test plan is completed, if it is not reviewed, it will be sent directly to the testing team. The content of the test plan may be inaccurate or miss the test content, or the software requirements change may cause the test scope to increase or decrease, and the test plan content is not updated in time, misleading the test executive staff.

Create test plans and detailed test specifications and test cases separately

The detailed test technical indicators should be included in the independently created test detailed specification document, and the test cases used to guide the execution process of the test team should be placed in the independently created test case document or test case management database. There is a strategic and tactical relationship between the test plan and the detailed test specifications and test cases. The test plan mainly plans the scope, methods and resource allocation of test activities from a macro perspective, while the detailed test specifications and test cases are specific tactics for completing the test tasks.

Q:

28. How do you cope when developers say that it is not a BUG?

A:

The developer said that it is not a BUG. There are two situations. One is that the requirements are not determined, so I can do this. At this time, I can ask the product manager for confirmation, and no changes are needed. After the three parties have negotiated and determined, they will see whether to change it. The second is that this situation is impossible, so there is no need to modify it. At this time, I can first say what is the BUG sentence as much as possible? If it is discovered by the user or something goes wrong, what will be the undesirable result? The programmer may give you many reasons, and you can refute his explanation. If it still doesn't work, then I can ask this question and confirm with the development manager and test manager. In fact, some are really not bugs, and I just write them into the test document in the suggested way. If the developer does not modify it, there is no big problem. If it is not a BUG, ​​you must stick to your own position and let the problem get the final confirmation.

Q:

29. What do you think is the advantage of testing?

A:

The advantage lies in my unwavering confidence and enthusiasm for testing. Although I still lack experience, I am confident that the basic skills required for testing can be used in my work.

Q:

30. What is the system bottleneck?

A:

The bottleneck mainly refers to the ability of one or several aspects of the software system constituted by the entire software and hardware that cannot meet the specific business requirements of the user. "Specific" means that the bottleneck will appear under certain conditions, because after all, most systems .

Strictly speaking from a technical point of view, all systems will have bottlenecks because the resource allocation of most systems is not coordinated. For example, when the CPU usage reaches 100%, it is not common for systems to run out of memory. Therefore, when we discuss the system bottleneck, we should discuss it from the perspective of application: the key is to see whether the system can meet user needs. When the user uses the system to the limit, the response of the system is still normal. We can think that there is no bottleneck in the system or the bottleneck will not affect the user's work.

Therefore, the bottleneck of our test system is mainly to achieve the following two purposes:

Discover the "surface" bottleneck. Mainly to simulate the user's operation, find the bottleneck when the user uses the system to the limit, and then solve the bottleneck. This is the basic goal of performance testing.

Find potential bottlenecks and solve them to ensure the long-term stability of the system. The main consideration is that when the user expands the system in the future or the business changes, the system can adapt to the change. The system that meets the current needs of users is not the best. Our goal in designing the system is to ensure that the entire software life cycle of the system can continuously adapt to user changes, or simply expand the system to adapt to new changes.

Q:

31. What is the main content of the document test?

A:

In domestic software development management, document management is almost the weakest item, so it is not surprising that document testing is particularly easy to overlook in testing work. To provide users with a complete product, document testing is essential. Document testing generally focuses on the following aspects:

Document integrity: mainly to test the comprehensiveness and completeness of the content of the document, and to grasp the quality of the document as a whole. For example, the user manual should include all functional modules of the software

Describe the consistency with the actual situation of the software: mainly test the degree of consistency between the software documentation and the actual software. For example, after the user manual is basically complete, we should also pay attention to whether the user manual is consistent with the actual function description. Because the documentation often cannot keep up with the update speed of the software version

Easy to understand: mainly to check whether the document has graphic descriptions for key and important operations, and whether the text and diagrams are easy to understand. For key and important operations, only text descriptions are definitely not enough. Diagrams should be attached to make the descriptions more intuitive and clear.

Examples of operations are provided in the document: This check is mainly for the user manual. Whether the application examples provided for main functions and key operations are abundant, and whether the provided example descriptions are detailed. There are only simple graphic descriptions, and the user manual without examples looks like a simple copy of the software interface, which is actually not helpful to the user

Printing and packaging quality: mainly to check the degree of commercialization of software documentation. Some user manuals are simply printed and bound, which are too rough for users to save. Good documents such as user manuals and technical white papers should be provided in commercial packaging and be printed beautifully

Q:

32. What level of detail is required for functional test cases to be qualified?

A:

This question is often asked by test engineers. Some people advocate that test cases should be written in detail to each step. The purpose is that even a novice who does not understand the system can perform work in accordance with test cases. Those who advocate this kind of writing can also cite examples: software outsourcing documents in Europe, America, and Japan all do this.

Another point of view is to advocate writing thicker, similar to writing a test outline. Those who advocate this view are because the software development requirements management is not standardized and changes frequently, so test cases cannot be written in accordance with the high standards of Europe and the United States. Such test cases are easy to maintain and allow test executives to have more room to play.

In fact, the detailed level of software test cases must first be covered to the test point as the basic requirement. For example: the test case of "user login system" does not need to write specific execution data, but at least five cases () should be written, if only one sentence covers the test case that this function is unqualified. Covering function points does not mean to list function points, but to write out all aspects of function points (equal division can be used if there are many combinations).

Another factor that affects test cases is the organization's development capabilities and the characteristics of test objects. If the development force is relatively backward, it is unrealistic to write more detailed test cases because there is no such large investment in resources. Of course, this situation is gradually improved with the development of the team. The key point of the characteristics of the test object refers to the requirements of the test object in terms of schedule and cost. If the schedule is tight, there is no time to write high-quality test cases, and sometimes the test work is just an auxiliary work. Do not write test cases.

Therefore, the writing of test cases should be integrated to determine the writing strategy based on the characteristics of the test object and the execution ability of the team. The last thing to note is that testers must not complain, and strive to continuously improve their own capabilities while continuously improving the level of test case writing.

Q:

33. What is the difference between configuration and compatibility testing?

A:

The purpose of the configuration test is to ensure that the software can run normally on its related hardware, and the compatibility test is mainly to test whether the software can work correctly with different software.

The core content of the configuration test is to use various hardware to test the operation of the software, generally including:

How the software runs on different hardware

The operation of the software on different components, for example, the development of an app to test the installation and operation of the mobile phones of different manufacturers

Different peripherals

Different interfaces

Different options, such as different memory sizes

The core content of the compatibility test:

Test whether the software is compatible on different operating system platforms

Test whether the software is compatible on different versions of the same operating system platform

Whether the software itself is forward or backward compatible

Test whether the software is compatible with other related software

Data compatibility test, mainly refers to whether the data can be shared

Configuration and compatibility testing are commonly referred to as more important for developing system software, such as drivers, operating systems, and database management systems. The specific execution is still carried out according to the test case.

Q:

34. What does the software documentation test mainly include?

A:

With the growing size of software documentation systems, documentation testing has become an important part of software testing. The main document test objects are as follows:

Packaging text and graphics
Marketing materials, advertisements and other inserts
Authorization, registration form
End user license agreement
Installation and setup wizard
User manual
Online help
Samples, demonstration examples and template
documents The purpose of testing is to improve ease of use and reliability, and reduce Support costs, because users can solve problems themselves through documentation. The inspection content of the document test is mainly as follows:

Audience-mainly whether the content of the document can be understood by readers at this level

Terminology-mainly to check whether the terminology is suitable for the reader

Content and subject-check whether the subject is appropriate, whether it is missing, whether the format is standardized, etc.

Icons and screenshots-check the accuracy and precision of the chart

Samples and examples-whether they are consistent with the software function

Spelling and grammar

Document relevance-is it consistent with the content of other related documents, such as whether it is consistent with advertising information

Document testing is a very important testing task. Not only should we give full attention to it, but it should also be done carefully. Treat document testing like functional testing.

Q:

35. Can black box testing be performed without product specifications and requirements documents?

A:

This problem is often encountered by domestic test engineers. The root cause is that the management of domestic software development documents is not standardized, and the management method of changes is even more unreasonable. In fact, when there is no documentation, testers can perform black-box testing. This testing method can be called exploratory testing. The specific method is that the test engineer continuously understands the test object based on his professional skills and domain knowledge. , Understand software functions, and then find defects.

In this approach, the software is basically regarded as a product specification, and constant communication with the developer is required during the testing process. Especially when working on a project, the schedule pressure is relatively high, which can be used as an urgent test plan. The biggest risk is not knowing whether some features have been missed.

Guess you like

Origin blog.csdn.net/newdreamIT/article/details/100929524