Quote:

Hello everyone, I’m Yifei, today we are going to talk about the basic knowledge of the test through the way of question and answer. I summarized the following 68 questions, self-feeling is more comprehensive, if not complete, also welcome small partners private letter I put it again add, strive to become the most complete martial arts secret book. Because this article is full of dry stuff, it’s a little long, and it’s going to take about 15 to 20 minutes to read, so get ready, whoever makes it to the end is the king.

1 you found a bug in your test, but the development manager does not think it is a bug, how do you solve it?

First, submit the problem to the defect Management database for filing. Then, to obtain the basis and criteria for judgment: according to the requirements specification, product description, design documents, etc., confirm whether the actual results are inconsistent with the plan, and provide the direct basis for the confirmation of defects; If there is no documentation, you can explain whether there is any inconsistency according to the general characteristics of similar software to determine whether it is a defect. According to the user’s general usage habits, to confirm whether it is a defect; Discuss with designers, developers and customer representatives to determine if there is a defect; Make a reasonable argument, explain the reasons for your judgment to the test manager, be objective and rigorous, and do not involve personal emotions. Wait for the test manager to make the final decision. If there is still a dispute, it can be reported to the superior through the channels provided by the company policy, and the superior can make the decision.

2. Given a website, how do you test it?

First of all, find requirements description, website design M and other related documents, analysis of test requirements. Develop a test plan, determine the test scope and test strategy, generally including the following parts: functional testing; Interface test; Performance test; Database testing; Security testing; Compatibility Testing Design Test cases: Functional testing can include, but is not limited to, the following: link testing. Whether the link jumps correctly, whether there are empty pages and invalid pages, whether there are incorrect error messages returned, etc. Submit tests of functionality. Whether multimedia elements load and display correctly. Whether multilingual support can correctly display the selected language, etc. Interface tests may include, but are not limited to a few aspects: whether the page style is unified, beautiful page layout is reasonable, whether the focus and hot spot content outstanding controls whether normal use For space must be installed for, whether to provide automatic download and install Text checking performance testing generally consider from the following two aspects: pressure test; Load test; Strength testing database testing is specifically determined as to whether it needs to be carried out. Databases generally need to consider the connection, data access operations, data content verification and other aspects. Security test: 1 check the basic login function; 2 Check whether there are overflow errors that lead to system crash or permission leakage; 3 Check common security problems of related development languages, such as SQL injection. 4 If advanced security testing is required, determine whether to obtain the help of a professional security company, outsource the testing, or obtain the support for compatibility testing. Determine the supported platform combination according to the requirements: browser compatibility; Operating system compatibility; Software platform compatibility; Database compatibility is tested and defects documented. Arrange and adjust test schedule, obtain test resources in advance, establish management system (such as requirements change, risk, configuration, test documents, defect reports, human resources, etc.). Conduct regular reviews to evaluate and summarize tests and adjust test content.

3. The corresponding domain name can be resolved by inputting Chinese characters in the search engine. How to test with LoadRunner?

Establish test plans, determine test standards and test scope design test cases for typical scenarios, covering common and uncommon business processes, etc. Based on test cases, develop automatic test scripts and scenarios: Record test Script Create a new script (Web/HTML protocol) click the Record button and enter “About :blank” in the URL of the dialog box that pops up. Perform the normal operations in the open browser. Debug the script and save it. You may want to note character set associations. Set test scenarios Set test scenarios based on performance to determine whether the average transaction response time of the system meets the standard under normal conditions. Set test scenarios based on pressure load to determine whether the system breaks down when the system is in full load or exceeds the system bearing capacity for a long time. Perform tests, obtain test results, and analyze test results

4. What’s the difference between a client with 300 clients and a client with 300 clients exerting pressure on the server? ?

300 users on one client will occupy more resources of the client and affect the test results. There may be interference between threads, resulting in some exceptions. With 300 users on one client, more bandwidth is required. For IP address issues, you may need to use IP Spoof to get around the server’s limit on the maximum number of connections from a single IP address. All users in a client, do not have to consider the problem of distributed management; Users are distributed on different clients, so you need to consider using controllers to allocate users on different clients. In addition, you need to configure the corresponding permissions and firewall Settings.

5. Describe the concept and features of the software? What does software reuse mean? What are the components?

Software is another part of computer system which is interdependent with hardware. It is a complete set of programs and documents. Software Reuse is to Reuse existing Software to create new Software to reduce the cost of Software development and maintenance. Software reuse is an important technology to improve software productivity and quality. In the early days, software reuse was mainly code-level reuse, and the knowledge to be reused specifically referred to programs. Later, it was expanded to include domain knowledge, development experience, design decisions, architecture, requirements, design, code and documentation, and other related aspects. Software components that can be reused are generally called reusable components. 6. What is the software life cycle and its model?

Software life cycle is the structural framework of all processes, activities and tasks of software development, from feasibility study to requirements analysis, software design, coding, testing, software release and maintenance. After going through requirements, analysis, design, implementation, and deployment, the software will be used and maintained until it dies out for lack of maintenance costs. Such a process is called the “Life Cycle Model”.

7. What is software testing? The purpose and principle of software testing

The process of running or testing a system by manual or automatic means. The purpose is to verify that it meets specified requirements or to find out the difference between expected and actual results. The purpose of software testing: Testing is the execution of a program with the purpose of finding errors and ensuring that the product meets user needs (function, performance, compatibility, etc.) to ensure that the product is robust and adapted to the user’s environment. Software testing should be performed as early as possible and throughout the software life cycle software testing should be traceability requirements testing should be constructed by a third party Exhaustive testing is not possible to follow the good-enough principle must determine the expected output (or results) must be thoroughly checked each test result focus on defect repair

8. The role of software configuration management? What does the software configuration include?

As a necessary link of software development process and the foundation of software development management, software configuration management runs through the whole software life cycle, and also plays an important role in supporting the macro management of software development process, namely project management. A truly effective implementation of software configuration management by a software development organization will make the software development process more predictable, make the system more repeatable, and greatly improve the competitiveness of the software organization. Software configuration includes the following: Configuration item Identification Workspace management Version control Change control status report Configuration audit

What is software quality?

Software quality: The ability of software product features to meet users’ functional and performance requirements.

10. What are the main test case design methods at present?

White box test: logical coverage loop coverage basic path coverage Black box test: boundary value analysis equivalence class division error guessing causal graph state graph random test scenario method

11. Which aspects should the security of software be tested from?

Software security testing includes program and database security testing. Test strategies vary according to system security indicators. User authentication security testing to consider: A clear distinction between different user rights system in the system will appear in the user system conflict will be caused by the change of the user’s permissions If the user password is visible, whether can be copied to login through absolute way system (copy the user login the link directly into the system) after user exit system is deleted after all authentication marks, Is it possible to use the back button to enter a system without entering a password? The testing of system network security is to consider whether the protection measures taken are properly assembled, whether the patches of the system are simulated unauthorized attacks, See whether the protection system is firm use mature network vulnerability inspection tools to check system vulnerabilities (that is, the most professional hacking tools to attack try, Now the most commonly used is NBSI series and IPhacker IP) using a variety of Trojan horse inspection tools to check the Trojan horse situation using a variety of anti-plug-in tools to check the system each group of programs plug-in vulnerability database security considerations: Whether the system data is confidential (for example, for the banking system, this is particularly important, the general website is not too high requirements) System data integrity system data manageability system data independence system data backup and recovery ability (whether the data backup is complete, can be restored, recovery can be complete)

12. What is a test case and what is a test script?

A specific set of input data, operations, or various environmental Settings, and expected results provided to the system under test for the execution of the test. A test script is a script written for automated testing. Test scripts must be written with corresponding test cases,

13. Describe what are static testing, dynamic testing, black box testing, white box testing, alpha testing and beta testing

Static testing is the process of looking for possible errors or evaluating program code without running the program itself. Dynamic test is to actually run the program under test, input the corresponding test instance, check the difference between the running result and the expected result, determine whether the execution result meets the requirements, so as to check the correctness, reliability and effectiveness of the program, and analyze the performance of the system, such as operation efficiency and robustness. Black box testing are commonly used to confirm the correctness of the software function and operability, the purpose is to test whether the function of software can be realized, the tested program as a black box, regardless of its internal structure, knowing the relationship between the input and output of the program or a program function, rely on software specifications to determine the test cases and test results of right Sex. White box testing is based on the analysis of the internal logical structure of the software. It is a test based on code. Testers judge the quality of the software by reading the program code or by using the single-step debugging in the development tools. Alpha tests are tests performed by a user in a development environment, or controlled tests performed by an internal user in a simulated operational environment. Alpha tests cannot be performed by programmers or testers. Beta testing is testing by multiple users of the software in 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.

14. What is the software quality assurance system? What are the national standards related to quality assurance management? ? What are their numbers and full names? ?

SQA consists of a set of software engineering processes and methods to ensure quality. SQA runs through the entire software development process and should include requirements document review, code control, code review, change management, configuration management, version management, and software testing.

15. 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 characteristic, resource characteristic. Maintainability: easy analysis, easy to change, stability, easy to test. Portability: adaptability, easy installation, compliance, easy replacement.

16. What is the strategy of software testing? ?

Software testing strategy: a collection of software testing principles, methods and methods stipulated under the guidance of certain software testing standards and testing specifications and according to the specific environmental constraints of testing projects.

17. How many stages of software testing are there? What are the testing strategies and requirements for each stage? ?

Software testing can be divided into unit testing, integration testing, system testing and acceptance testing (not necessarily) stages

Unit Testing Testing Strategy: Top-down unit testing strategy Summary: Much more expensive than isolated unit testing and not a good choice for unit testing. Bottom-up unit test strategy summary: Reasonable unit test strategy, but long test cycle. Isolated Unit Testing Strategy Summary: The best unit testing strategy. The test strategy of integration test: the big bang integration is suitable for a maintenance project or the test system is small, and the top-down integration is suitable for the product control structure is clear and stable. The change of high-level interfaces is small; The underlying interface is undefined or often subject to modification; Production control components have a high technical risk and need to be verified as soon as possible; We hope to see the system functional behavior of the product as soon as possible. Bottom-up integration is more stable for the underlying interface. High-level interfaces change frequently. The underlying components are completed earlier. Advantages of progress-based integration: high degree of parallelism; Can effectively shorten the project development schedule. Disadvantages: pile and drive workload is large; Some interface tests are inadequate; Some tests are repetitive and wasteful. Test policy data and database integrity testing for system testing; Functional testing; User interface testing; Performance evaluation; Load test; Strength test; Capacity test; Security and access control testing; Failover and recovery testing; Configuration test; Installation test; Encryption test; Usability testing; Version verification test; Document Testing 18. What is usually done in each phase of software testing? What are the resulting files for each phase? What does it include?

Unit test phase. Each independent unit module is tested in isolation from the other parts of the system. The unit test verifies the correctness of each program module to check whether each program module correctly realizes the specified functions. Generate unit test reports and submit defect reports. Integration test phase. Integration test is based on unit test, testing whether all parts of the work in the process of assembling all the software units into modules, subsystems or systems according to the requirements of the outline design specifications meet or achieve the corresponding technical indicators and requirements of the activities. This phase generates integration test reports and submits defect reports. System test phase. The software that passes the confirmation test, as an element of the whole given computer system, is combined with other system elements such as computer hardware, peripherals, some supporting software, data and personnel, and carries out comprehensive functional coverage of the computer system under the actual operating environment. This phase requires the submission of test summaries and defect reports. 19. What is the tester’s role in software development?

1. Find bugs; 2. Avoid defects in the software development process; 3. Measure the quality of software; 4. Pay attention to the needs of users. The overall goal is to ensure software quality.

20. In your past work, what did a software defect (or Bug) record contain? How do I submit high quality software Bug records? A Bug record should basically include: number, module to which the Bug belongs, Bug description, Bug level, discovery date, discovery, modification date, modification person, modification method, regression result, etc. In order to find bugs effectively, it is necessary to design efficient test cases by referring to early documents such as requirements and detailed design, and then strictly implement the test cases, fully confirm the problems found, and then release them to the outside. Only in this way can the quality of submitted bugs be improved.

21. Black box testing and white box testing are two basic methods of software testing, please explain their advantages and disadvantages respectively!

The advantages of black box testing are: relatively simple, do not need to understand the internal code and implementation of the program; Has nothing to do with the internal implementation of the software; From the user’s point of view, it is easy to know what functions users will use and what problems they will encounter. Based on the software development documentation, it is also possible to know what functions the software implements in the documentation; It is convenient to do automatic testing of software. The disadvantages of black box testing are as follows: it is impossible to cover all code, and the coverage is low, which can only reach 30% of the total code volume; Automated tests have low reusability. The advantages of white box testing include helping software testers increase code coverage, improve code quality, and discover hidden problems in code. The disadvantages of white-box testing are that the program runs on many different paths and it is not possible to test all of them. Testing is based on code, so you can only know whether the test developers are doing the right thing, not whether the design is correct or not. Some functional requirements may be missed. When the system is large, the cost of testing can be very high.

21. What is the purpose of the test plan? What should the contents of the test plan document include? Which are the most important?

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 resources, test communication, risk analysis and so on. With the help of the software test plan, the test project members, especially the test management personnel, 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. The relationship between test plan, test specifications and test cases is strategic and tactical. Test plan mainly plans the scope, method and resource allocation of test activities from a macro perspective, while test specifications and test cases are specific tactics to complete test tasks. So the most important thing is to test the test strategy and test methodology (preferably reviewed first).

22. What are the common design methods for black box test cases? Please give specific examples to illustrate the application of these methods in the test case design work.

Equivalence class partitioning Partitioning equivalence classes: An equivalence class is a subset of an input field. In this subset, each input data is equivalent to exposing errors in the program. It is reasonably assumed that testing a representative value of an equivalence class is equivalent to testing other values of that class. Therefore, all input data can be reasonably divided into several equivalence classes, and a small amount of representative test data can be used if one data from each equivalence class is taken as the input condition of the test. Get good test results. Equivalence classes can be divided into two different cases: valid equivalence classes and invalid equivalence classes. Boundary value analysis is a supplement to equivalence class partitioning. My experience in testing has taught me that a large number of errors occur at the boundary of the input or output range, not inside the input or output range. Therefore, designing test cases for various boundary cases can detect more errors. When designing test cases using boundary value analysis, the boundary cases should be determined first. In general, the boundary of input and output equivalence classes is the boundary case that should be tested. You should select values that are exactly equal to, just above or just below the boundary as test data, rather than typical or arbitrary values in the equivalence class. Error guessing is a method of designing test cases based on experience and intuition to predict all possible errors in a program. The basic idea of the error prediction method is to list all possible errors in the program and special cases prone to errors, and select test cases according to them. For example, many common errors in modules were listed during unit testing. Errors found in previous product tests, etc., are the summary of experience. There are also cases where the input data and the output data are zero. Input form is blank or input form has only one line. These are all error-prone situations. You can select examples in these cases as test cases. The equivalence class partition method and boundary value analysis method introduced in cause-and-effect graph method focus on the input conditions, but do not consider the connection between the input conditions, mutual combination, etc. Some new situations may arise when you consider combinations of input conditions. But it is not easy to examine the combination of input conditions, and even if all input conditions are divided into equivalence classes, there are quite a few combinations between them. Therefore, you must consider designing test cases in a form that is suitable for describing multiple actions resulting from a combination of multiple conditions. This requires the use of causal diagrams (logical models). The final result of the causal diagram method is the decision table. It is suitable for checking various combinations of program input conditions. Orthogonal table analysis method Sometimes, perhaps because of a large number of parameters caused by the combination of the surge in the number of test cases, at the same time, these test cases and no obvious gap in priority, and the tester can’t do so many number of tests, you can cut through orthogonal table in some cases, so as to achieve less as far as possible use cases cover as far as possible big the scope of the possibilities. Scenario analysis method refers to simulating the operation steps of users according to user scenarios, which is similar to cause-and-effect diagrams, but may be more in-depth and feasible. State graph method through the input conditions and system requirements to get all the states of the system under test, output conditions through the input conditions and conditions; The test case of the system under test is obtained by input condition, output condition and state.

23. Describe in detail the complete process of a test activity.

The project manager completes the requirements document through communication with the customer. The developer and tester jointly complete the requirements document review, including: requirements description is not clear and there may be obvious conflicts or functions cannot be implemented. The project manager completes the project plan by integrating input from developers, testers, and customers. SQA then enters the project and starts statistics and tracking. Developers complete requirements analysis documents based on requirements documents, and testers conduct reviews. The main contents of the reviews include whether there are omissions or differences in understanding between the two parties. The tester completes the test plan document, which includes the content described above. The tester starts writing test cases from the revised requirements analysis document, while the developer completes the outline design document and the detailed design document. These two documents serve as supplementary material for testers writing test cases. After the test cases are completed, testing and development need to be reviewed. The tester builds the environment and the developer submits the first release. There may be unfinished features that need to be explained. Testers run tests, find bugs and submit them to BugZilla. The development submitted the second version, including Bug fixes and added some features, and the testers tested it. Repeat the above work, generally 3-4 versions after the number of bugs reduced to meet the requirements of shipment. If there are customer feedback problems, need the help of the tester to reproduce and retest.

24.BUG management tool tracking process

Using BugZilla as an example, the tester finds a BUG and submits it to BugZilla with the status as new. The recipient of the BUG develops the interface for the developer and assigns the BUG to the developer of the relevant module. The status changes to assigned. If it is my BUG, set it to receive. If the problem is caused by another developer, it is forwarded to the next developer. If it’s not a problem, it needs to be discussed and confirmed, rejected, and then the tester closes the problem. If the developer accepts the BUG and fixes it, change the BUG status to fixed and tell the test in which version it can be tested. The tester tests in the new version and rejects validation if the problem persists. If it has been fixed, close the BUG.

25. In your opinion, how to improve the efficiency and effect of communication between testers and developers? What is the key to maintaining good relationships between testers and the rest of the development team?

Communicate face to face as much as possible. Secondly, communicate directly on the phone. If only through Email and other non-timely communication tools, emphasize a deep understanding of the features and be able to express clearly. It is also effective to use test management tools such as TestDirector, and note that the bugs are accurately described in TestDirector. In establishing good communication between testers and developers in the team, we should pay attention to the following points: first, sincerity; second, team spirit; third, common language in professional field; fourth, we should focus on things rather than people and put work first. Of course, we can also increase the goodwill of testers by directly pointing out some small problems rather than entering the BUG Tracking System.

26. What interests you most about testing? Why is that?

Answer this interview question, there is no fixed unified answer, but may be many enterprises will ask. Provide the following answers for examination: The greatest interest, feel that this is a challenging job; Testing is an experience industry, the longer I work, the more I can feel the difficulty and pleasure of doing a good job in testing. Through my own work, I can make software products more and more perfect, from which I can realize the pleasure. Try to match your interest with the company’s technical path. For example, if the company is a database application company, then show your interest in database testing and hope to improve your database skills through testing. Indicate that the purpose of doing the test is to improve your ability, but also to better do the test; Promotion capacity is not for later development or other, unless the employer has such arrangements. Don’t express too much interest outside the scope of the company.

27. What do you think are the advantages of testing?

There is no fixed answer for this interview, but you can refer to the following points and combine them with your own characteristics: I am resilient, patient, organized, like to face challenges, and confident to do everything well. My strong communication skills have been well evaluated by previous managers, indicating that I have done a good job

28. What are the common strategies for integration testing?

1. Big Bang Integration 2. Top-down integration 3. Bottom-up Integration 4. Sandwich integration applies to most software development projects 5. Backbone integration 6. Layered Integration 7

29. Please draw the seven-layer network diagram of OSI and the four-layer network diagram of P TCP/IP respectively.

OSI seven-layer network structure diagram, from top to bottom: application layer; The presentation layer. The session layer; The transport layer; The network layer. Data link layer; Physical layer TCP/IP four layer structure diagram application layer; The transport layer; Interconnection layer; The link layer

30. Several units of an e byte. (Computer Basics) ANSWER: 8bit.

31. Common X UNIX command X (common Linux command) (at least 0 10); (Unix) A: ls PWD mkdir rmdir rm cp mv CD ps ping tail more echo adduser passwd logout exit

32. Briefly describe what you have done in your previous jobs and what you are familiar with.

This question is different for everyone. The reference answers are below. My main work in the past was system testing and automated testing. In the system test, it mainly tests the business logic function of BOSS system and the Class 5 characteristics of softswitch system. Performance tests, mainly stress tests, capture system response time and system resource consumption under different number of requests. Automated testing is mainly through the combination of writing scripts and some third-party tools to test the characteristics of soft switch testing. In testing, I felt it was important to have a completely accurate understanding of the user’s needs. In addition, the management of bugs should be based on requirements. Not all bugs need to be modified. Testing requires patience and care, because in the new version, while most of the bugs that were originally found are fixed, the functionality that was once correct may become incorrect. So focus on iterative testing and regression testing.

What is the use of C static in C/C++? (Please specify at least two types)

In the body of a function, a variable declared static retains its value while the function is called.

Inside a module (but outside of a function), a variable declared static can be accessed by functions used inside the module, but not by other functions outside the module. It is a local global variable. A function declared static in a module can only be called by other functions in the module. That is, this function is restricted to the local scope of the module in which it is declared

34. What’s the difference between a reference and a pointer?

A reference must be initialized, not a pointer. A reference cannot be changed after initialization, and a pointer can change the object to which it refers. There are no references to null values, but there are Pointers to null values.

35. What network protocol does the Internet use? What are the main hierarchies of the protocol? What protocol is used to translate t Internet physical address and P IP address? The TCP/IP protocol has the following layers: application layer, transport layer, network layer, and digital link layer. Address Resolution Protocol (ARP)

36. Describe your understanding of the top-down and bottom-up integration strategies in integration testing, including their strengths and weaknesses, and which types of testing are best suited to them;

Benefits of top-down integration: Early validation of key control and judgment points; Depth-first can realize and verify a complete software function first; Function early confirmation, bring confidence; Only need one drive, reduce the cost of driver development; Supports fault isolation. Disadvantages: large amount of column development; Underlying validation is delayed; The underlying components are not tested adequately. Adapt to the product control structure is clear and stable; The change of high-level interfaces is small; The underlying interface is undefined or often subject to modification; Production control components have a high technical risk and need to be verified as soon as possible; We hope to see the system functional behavior of the product as soon as possible. Benefits of bottom-up integration: Early validation of the behavior of underlying components; Work can initially be integrated in parallel, which is more efficient than top-down; Reduced pile workload; Supports fault isolation. Disadvantages: driver development workload is large; Verification at the top was delayed, and design errors could not be discovered in time. Adapt to the bottom interface is relatively stable; High-level interfaces change frequently. The underlying components are completed earlier.

37. Software acceptance test includes formal acceptance test, alpha test and beta test.

38. There are many kinds of system testing strategies, including 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, and availability testing.

39. Project documents to refer to when designing a system test plan are software test plans, software requirements artifacts, and iteration plans.

40. The basic steps for generating test cases from cause-and-effect diagrams are:

§ Analyze the software specification description, which are causes (i.e. input conditions or equivalent classes of input conditions) and which are effects (i.e. output conditions), and assign an identifier to each cause and effect. § Analyze the semantics in the software specification description to find the relationship between cause and effect. What is the corresponding relationship between cause and cause? From these relationships, draw a causal diagram. § Some combinations of cause to cause and cause to effect are impossible due to grammatical or environmental constraints. To indicate these special cases, constraints or constraints are marked on causal diagrams. § Convert causal diagrams into decision tables. § Design test cases based on each column of the decision sheet. First, there are many kinds of tests, such as: code, functional level test module, component level test system test please say which people are best to do these tests, what is the test? Code – and function-level testing is usually done by white-box testers, who check the correctness of each piece of code or function to see whether it correctly implements specified functions. Module and component level testing is mainly based on the program structure to design the integration and call relationship between test modules, which is generally completed by testers. System testing is based on module testing and unit testing. Understand system function and performance, conduct comprehensive test according to test case.

# see eyes a little sore friends here, can go to blink eyes several times, then, then see ha ha ha ha ha, you think that is only just beginning to the end of it.



Here I recommend a software testing communication group created by Yifei, QQ: 642830685, which will share software testing resources, test interview questions and industry information from time to time.

41. What aspects should be considered when designing test cases, that is, for which aspects should different test cases be tested?

When designing test cases, attention should be paid to strength test, performance test, pressure test, boundary value test, stability test, security test and other aspects in addition to the overall process and function. (The four basic elements to consider in a test case are input, output, operation, and test environment; In addition, test cases need to consider the type of test (function, performance, security…), which can be answered by referring to TP. Also consider the importance and priority of use cases.)

42. When you save a text file in Windows, a dialog box will pop up. If you create a test case for the file name, how should the equivalence class be divided?

A single byte, such as A; Double bytes, AA, I, I; Special characters/’. ‘; , = – etc. Reserved words, such as com; The file format is 8.3; The file name format is not 8.3; Nine special characters, such as/and *.

43. Suppose a text box asks for a zip code of 0, 10 characters. What would be the classification of equivalence classes for this text box?

Special characters, such as 10 * or ¥; English letters, such as ABCDefghik; Less than 10 characters, such as 123. More than 10 characters, for example, 11111111111. Mixing numbers with others, such as 123AAAAAAA; Null character; Reserved characters

44. When did the software testing program begin? Why is that?

Software testing should start at the requirements analysis stage, because testing is not just about coding, but all products produced during software development, and software defects tend to be amplified. The later a defect is discovered, the more it will cost to fix it.

45. What is a white-box test? What is a black box test? ? What is regression testing? ?

White box test means that testers should understand the program structure and processing process, test the program according to the internal logic of the program, and check whether each path in the program works correctly according to the predetermined requirements. It is mainly for the source code of the program under test, the tester can completely disregard the function of the program. White box testing process: detailed design – > source program – > analysis of the internal logical structure of the program – > flow chart – > development of test cases – > under test program – > execution path – > coverage analysis. Black-box Testing (also known as functional or data-driven Testing) treats a test object as a Black box. When dynamic testing is carried out by using black box testing method, it is necessary to test the function of the software product, but not the internal structure and processing process of the software product. Regression testing has two types: use case regression and error regression; Use case regression is going back in time and re-testing the use cases that have been used before to see if they rediscover the problem. Error regression is a method to verify the defects that appeared and repaired in the previous version again in the new version and test the modified parts with the defects as the core.

46. What is the focus of unit test, integration test and system test?

Unit test is aimed at the smallest unit of software design – program module (oriented to process is function, process; In object orientation, classes.) , the test of correctness check is to find the possible errors within each program module. Generally, there are two steps: manual static check dynamic execution tracking integration test is aimed at the components integrated by each module through the unit test, its main content is the interface between each unit module, as well as the functions realized by each module integration. System test is aimed at the integrated software system, as an element of the whole computer system, and computer hardware, peripherals, some supporting software, data and personnel and other system elements together, in the actual operating environment, to the computer system for a series of integration tests and confirmation tests.

  1. What qualities should a test engineer have?

1. Sense of responsibility; 2. Communication skills; 3. Teamwork spirit; 4

What types of software testing do you know? Give a brief introduction.

Classification by testing strategy: 1. Static and dynamic testing; 2. Black and white box testing; 3. Classification by test stage: unit test, integration test, system test; Other common test methods: 1, function test 2, performance test 3, stress test 4, load test 5, ease of use test 6, installation test 7, interface test 8, configuration test 9, document test 10, compatibility test 11, security test 12, recovery test

49. What do you think is the key to doing a good test planning job?

Clear test objectives, enhance the practicability of test plans adopt review and update mechanisms to ensure that test plans meet actual needs. Create test plans, test specifications and test cases respectively

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

The key to white box test case design is to cover as much of the internal program logic as possible with fewer use cases. The key to black box test case design is also to cover the module output and input interface with fewer use cases. It is impossible to test completely and find the most problems in a reasonable amount of time with the fewest use cases

51. What do you think is the purpose of performance testing? What are the keys to doing a good performance test?

The main purpose of performance testing is to find out if there are any differences from requirements in concurrent multi-user and large data operations. The key of performance testing is to do a good job of system analysis and function analysis to determine the bottleneck of the system

52. In your previous testing work, what was the most unsatisfactory or unpleasant thing for you to recall? How do you deal with these things?

53. What are your testing career goals? The more testing experience, the better the testing ability. So my career development was cumulative, working my way up to senior test engineer. In addition, I have a preliminary career plan, accumulated testing experience in the first three years, constantly updated and corrected myself, and did well in testing tasks.

54. What do you know about our company?

It is recommended to get as much information as possible from the job advertisement and the company’s website in order to answer these questions.

55. What are the criteria for the end of the test?

From the micro point of view, it is defined in the test plan, such as the System running smoothly for 72 hours under a certain performance, currently in BugTracking System, there is no general serious BUG in this version, the number of common bugs is less than 3, the BUG repair rate is more than 90% and other parameters, and then the development manager, The test manager and project manager signed together to approve the Release. On a macro level, testing is over when the software is completely gone.

  1. Software testing is divided into black box and white box. ?

Software testing methods are generally divided into two kinds: white box testing and black box testing.

White box testing is also called structure testing, logic-driven testing or test based on the program itself. It focuses on the internal structure and algorithm of the program, and usually does not care about function and performance indicators. Black box testing is also known as functional testing, data-driven testing or specification based testing. It actually checks whether the input and output information and system performance indicators meet the requirements of functional requirements and performance requirements in the specifications from the standpoint of the end user.

57. What phases should constitute a complete set of tests?

Feasibility analysis, requirements analysis, outline design, detailed design, coding, unit test, integration test, system test, acceptance test

58. What do test cases usually include?

Use cases with different structures include different things. (Version, number, project, Designer, design date, input, expected output…) The basic elements of a software test case include test case number, test title, importance level, test input, operation procedure, and expected result.

Use case numbering: Test case numbering has certain rules, for example, system test case numbering is defined as project1-ST-001, and the naming rules are project name + test phase type (system test phase) + number. Define test case numbers to facilitate test case lookup and test case tracing. Test title: A description of the test case. The test case title should clearly express the purpose of the test case. For example, test how the software responds when a user enters an incorrect password during login. Importance level: Defines the priority level of test cases. It can be divided into two levels: High and Low. In general, if the software requirement is of “high” priority, the test case for that requirement is also of “high” priority; And vice versa, in general, is a 5 grade division. Test input: Provides various input criteria for test execution. Determine the input of the test case based on the input criteria in the requirements. The input of test cases is highly dependent on the input of software requirements. If the input of software requirements is not well defined, the design of test cases will encounter great obstacles. Steps: Provides steps in the test execution process. For complex test cases, the test case input needs to be divided into several steps, which are detailed in the operation procedure. Expected results: Provide the expected results of test execution, which should be based on the output in the software requirements. If in the actual test process, the actual test results do not match the expected results, then the test fails; Otherwise, the test passes.

59. Do you know the software development process of previous organizations? If yes, describe what a complete development process entails. What are the different roles that perform these tasks? What specific work have you done in your previous testing work? Which part of the job are you best at?

Development process, demand research (demand), demand analysis (demand), profile design (design), the detailed design (designer), code (developer) test process requirements review, system test design, profile design review, integration design, detailed design review, unit test design, test execution The whole process of testing work has been done, good at doing test design process to determine the quality, software process improvement is to improve the quality of software, the past experience and lessons accumulated.

60. Who participated in your testing activities? What is your role?

There are project manager, development manager, system analyst, designer, developer, quality manager, test manager, test designer, tester as test manager, test designer, tester

61. What are the principles of test case design? What are the main test case design methods?

Representativeness: the ability to represent and cover a wide range of input data, operations and environment Settings, reasonable and unreasonable, legal and illegal, boundary and out-of-bounds, and extreme. Decidability: that is, the correctness of test execution results is decidable, and each test case should have corresponding expected results. Reproducibility: The system should execute the same results for the same test cases. The methods include equivalence class, boundary value, causality diagram, state diagram, orthogonal method and outline method

61. What are the three modules of LoadRunner? Please briefly describe the main functions of each module. Virtual User Generator: for recording footstep Mercury LoadRunner Controller: for creating, running, and monitoring scenarios Mercury LoadRunner Analysis: for analyzing test results

62. What interests you most about testing? Why is that?

The biggest interest is that the test is difficult and challenging! The longer you test, the harder it is to get it right. I once saw an article on 51test.net about how to be a good test engineer. A total of 11 and 12 points are listed, some are related to people’s character, some need to be acquired efforts. But except for one or two points about character, I am not sure, but I am very confident in doing it well. Started to enter test industry as the understanding of the test is easy test learned some information online, at that time because of a lot of skills is needed to do the test to do good, although the entry is easy, but it’s hard to do, it is more difficult than development, although development at that time I really want to do (school course I basically, not miss, because I like my major), But seeing that testing is harder and more challenging than development makes it more determined to do it well. I think there are two points in the whole process of testing that make me feel very difficult (for me, I am very interested in difficult things). The first is the design of test cases, because the essence of testing lies in the design of test cases. Before the version comes out, write the use cases well. (that is, test plan and test strategy), if you just test a new task, you have to spend a certain amount of time to digest the business requirements and technical foundation, business requirements is easy to understand, how to communicate with product managers and developers can achieve purpose), and technical foundation is not so easy, it requires you to consciously learning ability, for example, web site, The most basic technical knowledge you need to know how the website internal operation, how does the background respond to user requests? How to set up the test environment? All these need to be learned early. Do at least some basic preparation before you start testing. What challenges might you encounter? Are the requirements not well defined? These problems can be found when designing use cases. The second is the time to find bugs, which should be the most basic task of the tester. Generally, most bugs can be found at the beginning of the test according to the test cases, and some bugs need to know more about the version under test to obtain more information, supplement the test cases, and test out bugs. And how do you find bugs? This requires careful and patient detection of bugs in the case of effective test cases. Bugs can be found in every use case, and errors can be found in every place. Therefore, thinking should be clear in the test process (the data flow and results of the test should be carefully read, and bugs are found in it). How to describe the bug is also very particular, under what circumstances the bug will occur, if the conditions change a little bit, there will be no this bug, with what minimum operation steps can reproduce the bug, what is the rule of the bug? If you’re good enough, you can help developers initially locate problems.

63. What do you do when developers say it’s not a G BUG? The developer says it’s not a bug, there are two things,

First, the demand has not been determined, so I can do this. At this time, I can ask the product manager to confirm whether any change is needed. The three parties will discuss and decide whether to change after confirmation. Second, this situation is impossible to happen, so there is no need to modify. At this time, I can first tell the basis of the BUG as much as possible. If the user discovers or something goes wrong, what are the adverse consequences? The programmer will probably give you a number of reasons, and you can refute his explanation. If it still doesn’t work, I can raise the issue and check with the development manager and test manager. If it needs to be changed, it needs to be changed, and if it doesn’t, it doesn’t. In fact, some of the bugs are not really bugs, I just suggested the way to write into TD, if the developers do not modify also no big problem. If it is a bug, stick to your guns and let the problem be confirmed.

64. Why do software testing work on a team?

Because untested software is difficult to know the quality of the software before release, just like ISO quality certification, testing also needs quality assurance, at this time it is necessary to carry out software testing work in the team. In the process of testing to find problems in the software, timely let developers know and modify the problems, in the upcoming release, from the test report to get the quality of the software. #####65. If you had the opportunity to become a developer, would you do development? I can do development if the company really needs me, but I still like testing, and I think I’m better suited for testing.

65. What are the stages of software testing? What is the meaning of each stage?

It is divided into unit test, integration test, confirmation test, system test and acceptance test. A unit test is a test of the smallest unit, testing individual modules; Integration testing main interface between test module is normal, confirm test similar to a smoke test is usually in the large-scale system test validation version before the main function is realized, the stability of the version can enter the system testing, system testing is the comprehensive test validation system whether to meet the demand of users including functionality, performance, compatibility, and so on. Acceptance tests are tests that users participate in.

66. What should a test plan include?

Background, Project profile, purpose, test scope, test strategy, division of personnel, resource requirements, schedule, Reference documents, common terms, submission documents, risk analysis.

67. What is compatibility testing? Please give an example of how to use the compatibility test list for testing. It mainly verifies the compatibility of software products between different versions. These include backward compatibility, which tests that a new version of software retains the functionality of an earlier version, and cross-compatibility, which verifies compatibility between two related but different products that exist in common.

68. A software is tested and found to run very slowly on 8 WIN98. How to distinguish whether there is a problem with the software or its software and hardware operating environment? Look at the operating environment requirements of the software. If it meets the requirements, the program has problems; if it does not meet the requirements, the hardware system has problems

These are the 68 interview questions that Yi Fei would like to share with you. I hope they are helpful to you