The most complete software testing interview questions (with answers)

Software Life Cycle (prdctrm)

Planning stage (planning)->requirement analysis (requirement)->design stage (design)->coding (coding)->testing (testing)->operation and maintenance (running maintrnacne)

test case

Software Testing Interview Questions

Use Case Number Test Item Test Title Severity Level Precondition Input Data Execution Step Expected Result

1. Question: You found a bug in the test, but the development manager thinks it is not a bug, how should you solve it?

First, submit the problem to the defect management library for filing.

Then, 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 direct basis for confirming the defects;

If there is no document basis, it can be confirmed whether there is a defect based on the general characteristics of similar software to explain whether there is any inconsistency;

According to the user's general usage habits, to confirm whether it is a defect;

Discuss with relevant personnel such as designers, developers and customer representatives to confirm whether it is a defect;

Make a reasonable discussion, explain the reasons for your judgment to the test manager, pay attention to objectivity, rigor, and do not mix personal emotions.

Wait for the test manager to make a final decision. If there are still disputes, you can report to the superior through the channels provided by the company policy, and the superior will make a decision.

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

First, find relevant documents such as requirements description and website design, and analyze the testing requirements.

Make a test plan, determine the test scope and test strategy, generally including the following parts: functional test; interface test; performance test; database test; security test; compatibility test

Design test cases:

Functional testing can include, but not limited to the following aspects:

link test. Whether the link jumps correctly, whether there are empty pages and invalid pages, and whether there is an incorrect error message returned.

Submit a test of the function.

Whether multimedia elements can be loaded and displayed correctly.

Whether multilingual support can correctly display the selected language, etc.

Interface testing can include but not limited to the following aspects:

Whether the page style is uniform and beautiful

Whether the page layout is reasonable, whether the key content and hot content are prominent

Whether the control works normally

For controls that are required but not installed, whether to provide the function of automatic download and installation

word check

Performance testing generally considers the following two aspects:

stress test; load test; strength test

Database testing should be specifically determined whether it needs to be carried out. Databases generally need to consider connectivity, data access operations, and data content verification.

Security testing:

Checks for basic login functionality

Whether there is an overflow error, resulting in a system crash or permission leak

Common security issue checks for related development languages, such as SQL injection, etc.

If advanced security testing is required, be sure to get help from a professional security firm, outsource testing, or get support

Compatibility testing, according to the contents of the requirement description, determine the supported platform combination:

browser compatibility;

operating system compatibility;

Compatibility of software platforms;

Database Compatibility

Tests are performed and defects are recorded. Reasonably arrange and adjust the test schedule, obtain the resources required for testing in advance, and establish a management system (for example, requirements changes, risks, configurations, test documents, defect reports, human resources, etc.).

Regularly review, evaluate and summarize the test, and adjust the content of the test.

3. Entering Chinese characters in the search engine can resolve to the corresponding domain name, how to use LoadRunner to test.

Establish test plan, determine test standard and test scope

Design test cases for typical scenarios, covering common business processes and uncommon business processes, etc.

According to the test cases, develop automatic test scripts and scenarios:

Record test script: create a new script (Web/HTML protocol); click the record button, enter "about:blank" in the URL of the pop-up dialog box; after the normal operation process in the open browser, end the recording; debug the script and save it, you may need to pay attention to the association of the character set.

Set up test scenarios: set up test scenarios for performance, mainly to determine whether the average transaction response time of the system meets the standard under normal circumstances; set up test scenarios for stress loads, mainly to determine whether the system will crash under conditions of full load or exceeding the system’s carrying capacity for a long time; perform tests, obtain test results, and analyze test results

4. Question: What is the difference between a client with 300 clients and 300 clients with 300 clients putting pressure on the server?

300 users on one client will occupy more resources of the client and affect the test results. Interference between threads may occur, resulting in some exceptions.

300 users on one client require more bandwidth.

For IP address issues, you may need to use IP Spoof to bypass the server's limit on the maximum number of connections to a single IP address.

All users are on one client, so there is no need to consider the issue of distributed management; while users are distributed on different clients, it is necessary to consider using the controller to deploy users on different clients as a whole. At the same time, you also need to give the corresponding permission configuration and firewall settings.

5. Describe the concept and characteristics of software? The meaning of software reuse? What components are included?

Software is another part of the computer system that is interdependent with the hardware, computer programs, procedures, rules, and possible files, documents and data related to the operation of the computer system.

Software reuse (SoftWare Reuse) is to use all kinds of relevant knowledge of existing software to create new software, so as to reduce the cost of software development and maintenance. Software reuse is an important technology to improve software productivity and quality. Early software reuse was mainly code-level reuse, and the reused knowledge refers to programs, and later expanded to include all relevant aspects such as domain knowledge, development experience, design decisions, architecture, requirements, design, code, and documentation.

Software components that can be reused are generally called reusable components

6. What is the software life cycle and its model?

Software life cycle (Software life cycle) is also called software life cycle, survival period. It refers to the entire process from the formation of the concept of developing software to the use of the developed software until it loses its use value and dies. Generally speaking, the entire life cycle includes three periods: planning (definition), development, and operation (maintenance), and each period is divided into several stages. Each stage has clear tasks.

Periodic models (typical types):

waterfall model

Rapid prototyping model: The rapid prototyping model allows preliminary but not complete analysis and definition of software requirements in the requirements analysis stage, and rapid design and development of a prototype of the software system, which shows users all or part of the functions and performance of the software to be developed; users test and evaluate the prototype, and give specific improvement suggestions to enrich and refine software requirements; developers modify and improve the software accordingly.

Iteration Model: An iteration includes all development activities that result in a product release (stable, executable product version) and all other peripheral elements necessary to use that release. In a way, a development iteration is a process that goes through all the workflows in one go: requirements analysis, design, implementation, and testing workflows. In essence, it's like a small Waterfall project. RUP believes that all stages can be subdivided into iterations. Each iteration produces a releasable product that is a subset of the final product.

Life cycle phases:

Software planning and feasibility analysis

demand analysis

software design

coding

software test

Operation and Maintenance

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

The process of operating a program under specified conditions to find program errors, measure software quality, and evaluate whether it meets design requirements.

Purpose of software testing:

Testing is the execution of a program to find bugs

A successful test case consists in finding hitherto undiscovered bugs

A successful test is one that finds a hitherto undiscovered bug

Make sure the product does what it promises or advertises, and that the features users can access are clearly documented.

Ensure products meet performance and efficiency requirements

Make sure the product is robust and adaptable to the user environment

Principles of software testing:

A mandatory part of a test case is the definition of the expected output or

Programmers should avoid testing programs they write

Organizations that write software should not test the software they write

Execution results of each test should be thoroughly checked

Test cases should be written not only for valid and expected inputs but also for invalid and unexpected inputs

Checking that the program "does not do what it is supposed to do" is only half of the test, the other half of the test is checking that the program "does what it is not supposed to do"

Disposable test cases should be avoided unless the software itself is a single-use software

When planning a testing effort, one should not tacitly assume that bugs will not be found

The probability that a part of a program has more bugs, proportional to the number of bugs already found in that part

Software testing is an extremely creative, intellectually challenging job

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

Software Configuration Management (SCM) is a technique for identifying, organizing, and controlling changes. Software configuration management applies to the entire software engineering process. Change is inevitable when software is built, and change exacerbates confusion among software developers on a project. The goals of the SCM activities are to identify changes, control changes, ensure that changes are implemented correctly, and report changes to other interested parties. In a sense, SCM is a technique for identifying, organizing, and controlling changes in order to minimize errors and maximize productivity.

Software configuration includes the following: configuration item identification, workspace management, version control, change control, status reporting, configuration auditing

9. What is software quality?

In a nutshell, software quality is "the degree to which software conforms to explicitly and implicitly defined requirements". Specifically, software quality is the degree to which software conforms to explicitly stated functional and performance requirements, development standards explicitly described in documentation, and implicit characteristics that all professionally developed software should have. The main factors affecting software quality, these factors are the measurement of software quality from the management point of view. It can be divided into three groups, which respectively reflect the three viewpoints of users when using software products. Correctness, robustness, efficiency, integrity, usability, risk (product operation); understandability, maintainability, flexibility, testability (product modification); portability, reusability, interoperability (product transfer).

10. What is the current main test case design method?

White box testing: logic coverage, loop coverage, basic path coverage

Black box testing: boundary value analysis, equivalence class division, error guessing, cause and effect diagram, state diagram, test outline, random testing, scenario

11. From what aspects should the software security be tested?

Software security testing includes program and database security testing. According to different system security indicators, testing strategies are also different.

Issues to be considered in the user authentication security test: clearly distinguish between different user rights in the system, whether there will be user conflicts in the system, whether the system will cause confusion due to changes in user rights, whether the user login password is visible and reproducible, whether it is possible to log in to the system through an absolute method (copy the link after the user logs in and directly enter the system), whether all authentication marks are deleted after the user logs out of the system, whether it is possible to use the back button to enter the system without entering a password, the system network security test should consider problems, whether the protective measures taken by the test are installed correctly, whether the relevant system patches are applied, simulated Unauthorized attacks, check whether the protection system is strong, use mature network vulnerability inspection tools to check system-related vulnerabilities (that is, use the most professional hacking tools to attack, the most commonly used ones are NBSI series and IPhacker IP), use various Trojan horse inspection tools to check system Trojan horses, use various anti-plug-in tools to check the plug-in vulnerabilities of various groups of programs in the system

Database security considerations: whether the system data is confidential (for example, for the banking system, this is particularly important, and general websites do not have too high requirements), the integrity of the system data (the enterprise real-name verification service system that I just completed had data incompleteness, which hindered the function realization of this system), the manageability of the system data, the independence of the system data, the backup and recovery capabilities of the system data (whether the data backup is complete, whether it can be restored, and whether the restoration can be completed)

12. What is a test case, what is a test script, and what is the relationship between the two?

A specific set of input data, operation or various environmental settings and expected results provided to the system under test for the implementation of the test.

Test scripts are scripts written for automated testing.

The writing of test scripts must correspond to the corresponding test cases

13. Briefly describe what is static testing, dynamic testing, black box testing, white box testing, alpha testing and beta testing

Static testing is the process of finding possible bugs in program code or evaluating program code without running the program itself.

Dynamic testing is to actually run the program under test, enter the corresponding test instance, check the difference between the running result and the expected result, and determine whether the execution result meets the requirements, so as to verify the correctness, reliability and effectiveness of the program, and analyze the performance of the system's operating efficiency and robustness.

Black-box testing is generally used to confirm the correctness and operability of software functions. The purpose is to detect whether each function of the software can be realized. The tested program is regarded as a black box, regardless of its internal structure. In the case of knowing the relationship between the input and output of the program or the function of the program, rely on the software specification to determine the correctness of the test cases and infer the test results.

White-box testing is performed based on the analysis of the logical structure of the software. It is a code-based test. Testers judge the quality of the software by reading the program code or using single-step debugging in the development tool. Generally, black-box testing is implemented by the project manager during programmer development.

Alpha testing is a test conducted by a user in a development environment, or it can be a controlled test conducted by users within the company in a simulated actual operating environment. Alpha testing cannot be done by programmers or testers.

Beta testing is a test performed by multiple users of the software under the actual use environment of one or more users. Developers are usually not present at the testing 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 serial numbers and full names?

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

Software Quality Assurance (SQA-Software Quality Assurance) is to establish a planned and systematic method to assure management that the proposed standards, procedures, practices and methods can be correctly adopted by all projects. The purpose of software quality assurance is to make the software process visible to management. It verifies that software conforms to standards by conducting reviews and audits of software products and activities. The software quality assurance group is involved in establishing plans, standards, and processes at the beginning of the project. These will enable the software project to meet the requirements of the agency policy.

15. What are the quality characteristics of software products?

Functionality: adaptability, accuracy, interoperability, compliance, security.

Reliability: maturity, fault tolerance, easy recovery.

Usability: easy to understand, easy to learn, easy to operate.

Efficiency: time characteristics, resource characteristics.

Maintainability: ease of analysis, ease of change, stability, and ease of testing.

Portability: adaptability, ease of installation, compliance, ease of replacement

16. What is the strategy of software testing?

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

17. Software testing is divided into several stages and what are the testing strategies and requirements for each stage?

Corresponding to the development process, the testing process will go through four main stages: unit testing, integration testing, system testing, and acceptance testing:

Unit testing: Unit testing is the testing work for the smallest unit of software design—program module or even code segment to check the correctness, usually performed by developers.

Integration test: Integration test is to assemble the modules according to the design requirements for testing, the main purpose is to find problems related to the interface. Since the product development team must conduct joint debugging before the product is submitted to the testing department, integration testing is done by developers in most enterprises.

System test: System test is carried out after the integration test is passed, the purpose is to fully run the system, verify whether each subsystem can work normally and meet the design requirements. It is mainly carried out by the testing department. It is the largest and most important test in the testing department and has a significant impact on the quality of the product.

Acceptance test: The acceptance test takes the "Requirement Specification" in the requirements phase as the acceptance standard, and the test requires simulating the actual user's operating environment. For actual projects, it can be carried out together with customers, and for products, it is the last system test. The test content is a comprehensive test of the functional modules, especially the document test.

Unit test test strategy:

Top-down unit testing strategy: Much more expensive than isolated unit testing, not a good choice for unit testing.

Bottom-up unit testing strategy: a more reasonable unit testing strategy, but the testing cycle is longer.

Strategies for unit testing in isolation: The best unit testing strategies.

Test strategy for integration testing:

Big Bang Integration: suitable for a maintenance project or the system under test is small

Top-down integration: It is suitable for the product control structure is clear and stable; the high-level interface changes little; the low-level interface is undefined or may be modified frequently; the production and port control components have large technical risks and need to be verified as soon as possible; hope to see the system functional behavior of the product as soon as possible.

Bottom-up integration: the bottom-level interface is relatively stable; the high-level interface changes frequently; the bottom-level components are completed earlier.

Progress Based Integration

Advantages: It has a high degree of parallelism; it can effectively shorten the development progress of the project.

Disadvantages: piles and drivers have a large workload; some interface tests are insufficient; some tests are repeated and wasteful.

Test strategy for system testing:

Data and database integrity testing; functional testing; user interface testing; performance testing; load testing; strength testing; capacity testing; security and access control testing; failover and recovery testing; configuration testing; installation testing; encryption testing; usability testing; version verification testing; documentation testing

18. What work is usually done in each phase of software testing? What is the result file of each phase? What is included?

Unit testing stage: Each independent unit module is tested in isolation from other parts of the system. The unit test checks the correctness of each program module to check whether each program module has correctly implemented the specified functions. Generate unit test reports and submit defect reports.

Integration testing phase: Integration testing is based on unit testing, and tests whether all the software units are assembled into modules, subsystems or systems in accordance with the requirements of the outline design specification to see whether the work of each part meets or realizes the corresponding technical indicators and requirements. In this phase, an integration test report is generated and a defect report is submitted.

System testing phase: The software that has passed the confirmation test is used as an element of the entire computer system, combined with other system elements such as computer hardware, peripherals, some supporting software, data, and personnel, to fully cover the functions of the computer system in the actual operating environment. At this stage, test summary and defect report need to be submitted.

19. What is the task of a tester in the software development process?

1. Find out the bugs in the system as early as possible;

2. Avoid defects in the software development process;

3. Measure the quality of the software and ensure the quality of the system;

4. Pay attention to the needs of users and ensure that the system meets the needs of users.

The overall goal is: to ensure the quality of the software.

20. In your previous work, what was included in a software defect (or bug) record? How to submit a high-quality software defect (Bug) record?

A bug record should basically include:

Bug number; bug severity level, priority; the module where the bug was generated; first of all, there must be a bug summary, explaining the general content of the bug; the corresponding version of the bug; a detailed description of the bug, including some screenshots, videos, etc.; the test environment when the bug occurs, and the conditions that are generated are the corresponding operation steps; high-quality bug records:

1) The general UI should be unified and accurate. The UI of the defect report should be consistent with the tested software UI, so that it is easy to find and locate. 2) Try to use the terms and methods commonly used in the industry. Use the terms and methods commonly used in the industry to ensure accurate expression and professionalism. 3) Each defect report includes only one defect Each defect report only includes one defect, which allows the defect fixer to quickly locate a defect and concentrate on correcting only one defect at a time. The verifier only verifies whether a defect has been corrected correctly at a time. 4) Non-reproducible defects should also be reported First the defect report must demonstrate the ability to reproduce the defect. Unreproducible defects should be reproduced as much as possible. If the defect cannot be reproduced after all efforts, the defect must still be reported, but the report must indicate the frequency of occurrence of the defect that cannot be reproduced. 5) Clearly specify the type of defect Based on the phenomenon of the defect, the type of defect is summed up and judged. For example, that is, functional defects, interface defects, data defects, rationalization suggests that this is the most common defect or defect type, and other forms of defects or defects are also subordinate to one of the forms. 6) Clearly indicate defect severity and priority Always clarify the difference between severity and priority. High severity issues may not be worth fixing, and small cosmetic issues may be considered high priority. 7) Description, concise, accurate, and complete, revealing the essence of the defect, recording the defect or the location where the defect occurs. The description should accurately reflect the essence of the defect, be short and clear. In order to facilitate the search for formulated test defects in the software defect management database, it is a good habit to include the user interface (UI) when the defect occurs. For example, the title of the record dialog box, the name of the menu, button and other controls. 8) Use automatic digital serial numbers between short lines, use the same font, font size, and line spacing. Use automatic digital serial numbers between short lines, use the same font, font size, and line spacing, to ensure that the format of each record is consistent, and it is standardized and professional. 9) Try to record only one operation for each step to ensure conciseness, orderliness, and easy repetition of operation steps. 10) Confirm that the steps are complete, accurate, and short to ensure fast and accurate repetition of defects. "Complete" means that there are no omissions, "accurate" means that the steps are correct, and "short" means that there are no redundant steps. 11) Depending on the defect, you can choose whether to perform image capture. In order to visually observe the defect or defect phenomenon, it is usually necessary to attach the defect or the interface where the defect appears, and attach it to the "attachment" part of the record as an attachment in the form of a picture. In order to save space and truly reflect the defect or the essence of the defect, it can capture the full screen, active window and local area when the defect or defect occurs. In order to quickly locate and correct defects or defect locations, it is usually required to attach a Chinese control map.  Attach necessary special documents and personal suggestions and comments. If a defect or defect occurs when a particular document is opened, the document must be attached so that the defect or defect can be reproduced quickly. Sometimes, in order to make the defect or defect corrector further clarify the defect or the performance of the defect, personal modification suggestions or comments can be attached. 12) Check spelling and grammar defects Before submitting each defect or defect, check spelling and grammar to ensure that the content is correct and describe the defect correctly. 13) Use phrases and short sentences as much as possible to avoid complex sentence patterns. The purpose of the software defect management database is to facilitate the location of defects. Therefore, it is required to describe the operation steps objectively, without modifying vocabulary and complex sentence patterns, so as to enhance readability. The above summarizes the standard requirements for reporting test defects. With different software test requirements, testers will gradually develop good professional habits after long-term testing and accumulate corresponding test experience, and constantly add new specification writing requirements. In addition, you can constantly improve your skills by reading and studying the test defect reports of other test engineers, and comparing and thinking with your own previous test defect reports. 14) Defect description content The content of the defect description can include defect operation steps, actual results and expected results. The operation steps can make it easier for developers to reproduce defects and correct them. Some developers have poor ability to reproduce defects. Although they understand the defects you are referring to, they just cannot reproduce them. Especially for new developers who are not familiar with the system, the introduction steps can facilitate them to reproduce. Actual results let developers know what was wrong, and expected results let developers know what the correct result should be. Use phrases and short sentences as much as possible to avoid complex sentence patterns. The purpose of the software defect management database is to facilitate the location of defects. Therefore, it is required to describe the operation steps objectively, without modifying vocabulary and complex sentence patterns, so as to enhance readability. The above summarizes the standard requirements for reporting test defects. With different software test requirements, testers will gradually develop good professional habits after long-term testing and accumulate corresponding test experience, and constantly add new specification writing requirements. In addition, you can constantly improve your skills by reading and studying the test defect reports of other test engineers, and comparing and thinking with your own previous test defect reports. 14) Defect description content The content of the defect description can include defect operation steps, actual results and expected results. The operation steps can make it easier for developers to reproduce defects and correct them. Some developers have poor ability to reproduce defects. Although they understand the defects you are referring to, they just cannot reproduce them. Especially for new developers who are not familiar with the system, the introduction steps can facilitate them to reproduce. Actual results let developers know what was wrong, and expected results let developers know what the correct result should be. Use phrases and short sentences as much as possible to avoid complex sentence patterns. The purpose of the software defect management database is to facilitate the location of defects. Therefore, it is required to describe the operation steps objectively, without modifying vocabulary and complex sentence patterns, so as to enhance readability. The above summarizes the standard requirements for reporting test defects. With different software test requirements, testers will gradually develop good professional habits after long-term testing and accumulate corresponding test experience, and constantly add new specification writing requirements. In addition, you can constantly improve your skills by reading and studying the test defect reports of other test engineers, and comparing and thinking with your own previous test defect reports. 14) Defect description content The content of the defect description can include defect operation steps, actual results and expected results. The operation steps can make it easier for developers to reproduce defects and correct them. Some developers have poor ability to reproduce defects. Although they understand the defects you are referring to, they just cannot reproduce them. Especially for new developers who are not familiar with the system, the introduction steps can facilitate them to reproduce. Actual results let developers know what was wrong, and expected results let developers know what the correct result should be.

21. Black-box testing and white-box testing are two basic methods of software testing. Please explain their respective advantages and disadvantages!

The advantages of black box testing are: relatively simple, no need to understand the internal code and implementation of the program; it has nothing to do with the internal implementation of the software; from the user's point of view, it is easy to know which functions the user will use and what problems they will encounter; based on the software development document, it is also possible to know which functions the software implements in the document; it is more convenient when doing software automation testing.

The disadvantages of black-box testing are: it is impossible to cover all the code, and the coverage rate is low, which can only reach 30% of the total code volume; the reusability of automated testing is low.

The advantages of white box testing are: to help software testers increase code coverage, improve code quality, and discover hidden problems in code.

The disadvantages of white-box testing are: there will be many different paths in the running of the program, and it is impossible to test all the running paths; the test is based on the code, and it can only test whether the developer is right, but cannot know whether the design is correct or not, and some functional requirements may be missed; when the system is huge, the test overhead will be very large.

22. How to test a paper cup?

Functionality: Fill water in a water cup to see if it leaks; whether the water can be drunk

Safety: Is there any poison or bacteria in the cup

Reliability: the degree of damage to the cup dropped from different heights

Portability: Whether the cup can be used normally in different places, temperatures and other environments

Compatibility: Whether the cup can hold juice, white water, alcohol, gasoline, etc.

Ease of use: whether the cup is hot, whether it has anti-slip measures, and whether it is convenient to drink

User documentation: Does the user manual describe in detail the usage, restrictions, and conditions of use of the cup?

Fatigue test: Fill the cup with water (case 1) and leave it for 24 hours to check the leakage time and situation; fill it with gasoline (case 2) and put it for 24 hours to check the leakage time and situation, etc.

Stress test: use a needle and keep adding weight on it to see how much pressure it will penetrate

22. What is the purpose of the test plan work? What should be included in the test plan document? Which of them is the most important?

A software test plan is a programmatic document that guides the testing process:

Leaders can carry out macro-control according to the test plan, and carry out corresponding resource allocation, etc.

Testers can understand the entire project testing situation and the work to be done in different stages of project testing, etc.

It is convenient for other personnel to understand the work content of the tester and carry out relevant cooperation work

It includes product overview, test strategy, test method, test area, test configuration, test cycle, test resource, test communication, risk analysis, etc. With the help of the software test plan, the project members involved in the test, especially the test managers, can clarify the test tasks and test methods, maintain smooth communication in the test implementation process, track and control the test progress, and deal with various changes in the test process.

Test plan writing 6 elements (5W1H):

why - why these tests are performed;

what—what aspects to test, the work content at different stages;

when—test the start and end times of different stages;

where—corresponding documents, defect storage location, test environment, etc.;

who—the composition of relevant personnel of the project, which testers are arranged for testing;

how—how to do it, which test tools and test methods to use for testing

There is a strategic and tactical relationship between the test plan and the test specification and test cases. The test plan mainly plans the scope, method and resource allocation of the test activity from a macro perspective, while the test specification and test cases are the specific tactics for completing the test task. So the most important thing is to test the test strategy and test method (it is best to be able to review first).

23. What are the common design methods of test cases for black-box testing? Please use specific examples to illustrate the application of these methods in the design of test cases.

1) Equivalence class division: Equivalence class refers to a sub-set of an input field. In this sub-set, each input data is equivalent to revealing the error in the program. It is reasonable to assume that: testing a representative value of a certain equivalence class is equal to testing other values ​​of this class. Therefore, all input data can be divided into several equivalence classes reasonably, and a small amount of representative test data can be used to obtain better test results. Equivalence class division can have two different situations: effective Equivalence classes and void equivalence classes.

2) Boundary value analysis method: It is a supplement to the equivalence class division method. Test work experience tells me that a large number of errors occur on the boundary of the input or output range, rather than inside the input and output range. Therefore, designing test cases for various boundary conditions can detect more errors.

When using the boundary value analysis method to design test cases, the boundary conditions should be determined first. Usually, the boundaries of the input and output equivalence classes are the boundary conditions that should be focused on testing. Values ​​that are exactly equal to, just greater than or just less than the boundary should be selected as test data, rather than typical values ​​or arbitrary values ​​in the equivalence class are selected as test data.

3) Error guessing method: based on experience and intuition to speculate all possible errors in the program, so as to design test cases in a targeted manner.

The basic idea of ​​the error guessing method: List all possible errors in the program and special cases where errors are prone to occur, and select test cases according to them. For example, many common errors in modules have been listed during unit testing. Errors found in previous product tests, etc. These are the summary of experience. Also, the input data and output data are 0. The input form is blank or the input form has only one line.

4) Cause-and-effect diagram method: The equivalence class division method and boundary value analysis method introduced above both focus on the consideration of input conditions, but do not consider the relationship between input conditions, mutual combination, etc. Considering the mutual combination of input conditions, some new situations may arise. But it is not an easy task to check the combination of input conditions. Even if all input conditions are divided into equivalence classes, there are quite a lot of combinations between them. It is necessary to use a causal diagram (logic model). The final result of the causal diagram method is a decision table. It is suitable for checking various combinations of program input conditions.

5) Orthogonal table analysis method: The number of test cases may increase sharply due to the combination of a large number of parameters. At the same time, these test cases have no obvious gap in priority, and testers cannot complete such a large number of tests. Some use cases can be reduced through the orthogonal table, so as to achieve the possibility of covering the largest possible range with as few test cases as possible.

6) Scenario analysis method: refers to simulating the user's operation steps according to the user scenario. This is similar to the cause-and-effect diagram, but it may have better execution depth and feasibility.

7) State diagram method: Get all the states of the system under test through input conditions and system requirements description, get output conditions through input conditions and states; get test cases of the system under test through input conditions, output conditions and states.

8) Outline method: The outline method is a method that focuses on requirements. In order to list various test conditions, the requirements are converted into an outline. The outline is represented as a tree structure with a unique path between the root and each leaf node. Each path in the outline defines a specific set of input conditions used to define test cases. The number of leaves in the tree or paths in the outline gives the approximate number of test cases needed to test all functionality.
24. Describe in detail the complete process of a test activity. (For reference, this answer is mainly the practice of the waterfall model)

The project manager communicates with the customer to complete the requirements document, and the developers and testers jointly complete the review of the requirements document. The content of the review includes: places where the requirements description is unclear and places that may have obvious conflicts or unrealizable functions. The project manager completes the project plan by integrating the opinions of developers, testers and customers. Then SQA enters the project and starts doing statistics and tracking

The developer completes the requirement analysis document according to the requirement document, and the tester conducts a review. The main content of the review includes whether there are omissions or differences in understanding between the two parties. The tester completes the test plan document, and the content included in the test plan is described above.

Testers start to write test cases according to the modified requirements analysis document, and developers complete the outline design document and detailed design document. These two documents become supplementary materials for testers to write test cases.

After the test cases are completed, testing and development needs to be reviewed.

The tester builds the environment

The developer submits the first version, and there may be unfinished functions that need to be explained. Testers conduct tests and submit to BugZilla after finding bugs.

The development submits the second version, including Bug Fix and some functions added, and the testers conduct testing.

Repeat the above work, generally after 3-4 versions, the number of BUGs will decrease, and the requirements for shipment will be met.

If there are problems reported by customers, testers are required to assist in reproducing and retesting.

26. The tracking process of BUG management tools (using BugZilla as an example)

The tester finds the BUG, ​​submits it to Bugzilla, the status is new, and the receiver of the BUG is the development interface personnel

The development interface assigns the BUG to the developer of the relevant module, and the status is changed to assigned. The developer and the tester confirm the BUG. If it is their own BUG, ​​it is set to receive; if it is another developer’s problem, it is forwarded to the next developer.

If the developer accepts the BUG and modifies it, change the status of the BUG to fixed, and inform the version in which the test can be tested.

Testers test in the new version, and if the problem is found to still exist, the verification will be rejected; if it has been fixed, the BUG will be closed.

27. In your opinion, in the process of communication between testers and developers, how to improve the efficiency and effect of communication? What is the key to maintaining a good interpersonal relationship between testers and other members of the development team?

Try to communicate face-to-face, and secondly, communicate directly by phone. If you can only communicate through non-timely communication tools such as Email, emphasize the need to have a deep understanding of the characteristics and be able to express clearly.

It is also more effective to use some test management tools such as TestDirector for management. At the same time, it should be noted that there is an accurate description of BUG in TestDirector.

Pay attention to the following points in establishing good communication between testers and developers in the team:

One is sincerity, the other is team spirit, the third is to have a common language in the profession, and the fourth is to be right about things and not people, work first

Of course, you can also increase the other party's favor by directly pointing out some minor problems instead of entering the BUG Tracking System.

28. Where is your greatest interest in testing? Why?

There is no fixed and unified answer to this interview question, but it may be asked by many companies. Provide the following answers for consideration:

The greatest interest, feeling that this is a challenging job;

Testing is an experience industry. The longer you work, the more difficult and fun it will be to do a good job in testing.

Through your own work, you can make software products more and more perfect, and experience the fun from it

Pay attention to the following points when answering these questions:

Express your interest by matching the technical route of the recruiting company as much as possible. For example, if the company is a database application company, then express your interest in database testing and hope to improve your database mastery through testing.

Indicate that the purpose of your testing is to improve your ability and to do a better job of testing; improving your ability is not for future development or other things, unless the employer has such an arrangement.

Don't express your interest too much outside the scope of the recruiting company. For example, the recruiting company is doing financial software, but you have shown interest in game software; or the recruiting company is doing JAVA development, and your interest is in the development of C language programs.

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

There is no fixed answer to this interview, but you can refer to the following points and combine your own characteristics:

Resilient, patient, organized, like to face challenges, have the confidence to do everything well, strong communication skills, have received good comments from previous managers, indicating that I am doing well 33. Briefly describe what you have done in previous jobs and what you are familiar with

. The reference answer is as follows.

My main job in the past was system testing and automation testing. In the system test, the business logic function of the BOSS system and the Class 5 characteristics of the softswitch system are mainly tested. In the performance test, the stress test is mainly carried out, and the system response time and system resource consumption are obtained in the case of different numbers of requests. Automated testing is mainly to test the characteristics of the softswitch through the combination of self-written scripts and some third-party tools.

In testing, I feel that a completely accurate understanding of user needs is very important. In addition, the management of BUG should be based on requirements, not all BUGs need to be modified.

The testing work requires patience and meticulousness, because in the new version, although most of the originally discovered BUGs have been fixed, the original correct functions may also become incorrect. So pay attention to iterative testing and regression testing.

34. What is the use of static in C/C++? (Please explain at least two)

1) In the function body, a variable declared as static maintains its value while the function is called.

2) In the module (but outside the function body), a variable declared as static can be accessed by functions used in the module, but cannot be accessed by other functions outside the module. It is a local global variable.

3) In a module, a function declared as static can only be called by other functions in this module. That is, the function is restricted to the local scope of the module in which it is declared

35. What is the difference between a reference and a pointer?

1) References must be initialized, pointers do not.

2) After the reference is initialized, it cannot be changed, and the pointer can change the pointed object.

3) There is no reference to null, but there is a pointer to null.

36. Which network protocol is used by the Internet? The main hierarchical structure of the protocol? What protocol is used for Internet physical address and IP address translation?

The main hierarchical structure of the TCP/IP protocol is: application layer/transport layer/network layer/data link layer.

ARP (Address Resolution Protocol)

37. Tell me about your understanding of the two strategies of top-down integration and bottom-up integration in integration testing, and talk about their respective advantages and disadvantages and which type of testing they are mainly suitable for;

top-down integration

Advantages: The main control and judgment points are verified earlier; a complete software function can be realized and verified first according to the depth first; the function is verified earlier, which brings confidence; only one driver is needed, reducing the cost of driver development; supporting fault isolation.

Disadvantages: heavy development of pillars; low-level verification is delayed; low-level components are not well tested.

The product control structure is relatively clear and stable; the high-level interface changes little; the bottom interface is undefined or may be modified frequently; the production and port control components have relatively high technical risks and need to be verified as soon as possible; it is hoped that the system function behavior of the product can be seen as soon as possible.

2. Bottom-up integration

Advantages: early verification of the behavior of the underlying components; the work can be initially integrated in parallel, which is more efficient than top-down; the workload of the stub is reduced; and fault isolation is supported.

Disadvantages: The development workload of the driver is heavy; the verification of the high level is delayed, and the design errors cannot be found in time.

Adapt to the low-level interface is relatively stable; the high-level interface changes frequently; the low-level components are completed earlier.

38. Software acceptance testing includes formal acceptance testing, alpha testing, and beta testing.

39. There are many strategies for system testing, including performance testing, load testing, strength testing, usability testing, security testing, configuration testing, installation testing, document testing, failure recovery testing, user interface testing, recovery testing, distribution testing, and usability testing.

40. The project documents that need to be referred to when designing a system test plan include software test plan, software requirement artifact, and iteration plan

. The basic steps to generate test cases using cause and effect diagrams are:

§ Analyze software specification descriptions, which are causes (that is, input conditions or equivalent classes of input conditions), and which are results (that is, output conditions), and assign an identifier to each cause and result.

§ Analyze the semantics in the description of the software specification, find out what is the corresponding relationship between the cause and the effect, and between the cause and the cause? According to these relationships, draw a cause-and-effect diagram.

§ Due to grammatical or environmental constraints, some combinations of causes and causes and between causes and effects are impossible. To indicate these special cases, constraints or restrictions are marked on the causal diagram with symbols. § Convert cause-and-effect diagrams into decision tables.

§ Take each column of the judgment table as a basis and design test cases.

43. Please tell me who these tests are best done by, and what are they tested for?

Code and function-level testing is generally done by white-box testers, who check the correctness of each piece of code or function to check whether it correctly implements the specified functions.

The main basis for module and component level testing is the integration and calling relationship between program structure design and test modules, which is generally completed by testers.

System testing is performed on the basis of module testing and unit testing. Understand system functions and performance, and conduct comprehensive tests based on test cases.

44. What aspects should be considered when designing test cases, that is, which aspects are tested by different test cases?

When designing test cases, it is necessary to pay attention to not only the overall process and functions, but also strength testing, performance testing, stress testing, boundary value testing, stability testing, security testing and other aspects. (The four basic elements that a test case needs to consider are input, output, operation, and test environment; in addition, the test case needs to consider the type of test (function, performance, security...), this part can be answered by referring to TP. In addition, the importance and priority of the use case also need to be considered) 45. When saving a text file under Windows, a save dialog box will pop up. If you create a test case for the file name, how should the equivalence class be divided
?

Single-byte, such as A; double-byte, AA, I I; special characters /'. ';, =-, etc.; reserved words, such as com; the file format is in 8.3 format; the file name format is not in 8.3 format; nine special characters such as /, \, *.

46. ​​Assuming that there is a text box that requires the input of a 10-character zip code, how should the text box be divided into equivalence classes?

Special characters, such as 10 * or ¥; English letters, such as ABCDefghik; less than ten characters, such as 123; greater than ten characters, such as 11111111111; numbers and other mixed, such as 123AAAAAAAA; empty characters; reserved characters 47. When did the software testing project start? Why

?

Software testing should be involved in the requirements analysis stage, because the object of testing is not only program coding, but all products produced during the software development process should be tested, and there is a tendency for software defects to amplify. The later a defect is found, the greater the cost of repairing it. 48. What is regression testing

?

Regression testing: (regression testing): There are two types of regression testing: use case regression and error regression; use case regression is to go back and retest the previously used use cases after a period of time to see if the problem will be found again. Bug regression is a method of re-verifying the defects that appeared and repaired in the previous version in the new version, and testing the relevant modified parts with the defects as the core.

49. What is the focus of unit testing, integration testing, and system testing?

Unit testing is aimed at the smallest unit of software design - program modules (functions and procedures in process-oriented; classes in object-oriented). The testing work for correctness inspection is to find possible errors in each program module. Generally, there are two steps: manual static inspection \ dynamic execution tracking

The integration test is aimed at testing the components integrated by each module that has passed the unit test. Its main content is the interface between each unit module and the functions realized by each module after integration.

System testing is aimed at the integrated software system. As an element of the entire computer system, it is combined with other system elements such as computer hardware, peripherals, some supporting software, data and personnel. It is necessary to conduct a series of integration tests and confirmation tests on the computer system in the actual operating environment. 51. What qualities should a test engineer possess
?

1. Responsibility 2. Communication skills 3. Teamwork spirit 4. Patience, care, confidence 5. Always maintain a skeptical attitude and have awareness of defect prevention 6. Have certain programming experience 53: What types of software testing do you know, briefly introduce
.

Classified by testing strategy: 1. Static and dynamic testing 2. Black box and white box testing 3. Manual and automatic testing 4. Smoke testing 5. Regression testing;

Classified by testing phase: unit testing, integration testing, system testing;

Other common testing methods: 1. Functional testing 2. Performance testing 3. Stress testing 4. Load testing 5. Usability testing 6. Installation testing 7. Interface testing 8. Configuration testing 9. Documentation testing 10. Compatibility testing 11. Security testing 12. Recovery testing 54: What do you think is the key to a good test plan

?

Clarify the goal of the test and enhance the practicability of the test plan

The important purpose of writing a software test plan is to enable the testing process to find more software defects, so the value of a 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 the functional requirements, the test methods must be practical, the test tools must be highly practical, easy to use, and the test results generated are intuitive and accurate

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

The "5W" rule refers to "What (what to do)", "Why (why do it)", "When (when to do it)", "Where (where)", "How (how to do it)". 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), point out the method and tool of the test (How), and give the storage location of the test documents and software (Where).

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

After the test plan is written, if it has not been reviewed, it will be sent directly to the test team. The content of the test plan may be inaccurate or omit the test content, or the test scope may increase or decrease due to changes in software requirements, but the content of the test plan is not updated in time, misleading the test executives.

Create test plan and test detailed specification, test case respectively

The detailed test technical indicators should be included in the independently created test detailed specification document, and the test cases used to guide the test team to execute the test process 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 test specification and test cases. The test plan mainly plans the scope, method and resource allocation of the test activity from a macro perspective, while the test specification and test cases are the specific tactics for completing the test task.

55: What do you think is the key to doing a good job in test case design?

The key to white-box test case design is to cover as many internal program logic results as possible with fewer test cases

The key to black-box use case design is also to cover module output and input interfaces with fewer use cases. It is impossible to do complete testing, find the most problems in a reasonable time with the fewest use cases

56: What are your testing career development goals?

The more testing experience, the higher the testing ability. So my career development needs time to accumulate, step by step toward a senior test engineer. And I also have a preliminary career plan, accumulating testing experience in the first 3 years, constantly updating and correcting myself, and doing a good job in testing tasks.

57: What are the criteria for the end of the test?

From a microscopic point of view, it is defined in the test plan. For example, the system runs smoothly for 72 hours under a certain performance. Currently, in the Bug Tracking System, there are no general serious bugs in this version, the number of common bugs is less than 3, and the bug repair rate is over 90%. Then the development manager, test manager, and project manager jointly sign to approve the version release.

If we talk about the macro, the test will end when the software completely disappears.

59. What stages should a complete set of tests consist of?

Feasibility analysis, demand analysis, outline design, detailed design, coding, unit test, integration test, system test, acceptance test 61. Do you
know the software development process of the company you worked in the past? If so, please describe what tasks need to be completed in a complete development process? Which roles are used to complete these tasks? What specific tasks have you been engaged in in previous testing work?

Development process---requirement research (requirement personnel), demand analysis (requirement personnel), outline design (designers), detailed design (designers), coding (developers)

Test process---requirements review, system test design, summary design review, integration test design, detailed design review, unit test design, test execution

Have done the whole process of testing work, good at test design

The process determines the quality, and the software process improvement is just to improve the quality of the software, and to accumulate various past experiences and lessons.

62. What are the principles of test case design? What are the main test case design methods at present?

Representativeness: Be able to represent and cover all kinds of input data, operation and environment settings that are reasonable and unreasonable, legal and illegal, boundary and transboundary, and limit.

Decidability: That is, the correctness of the test execution results is decidable, and each test case should have a corresponding expected result.

Reproducibility: That is, for the same test case, the execution results of the system should be the same.

Methods include equivalence classes, boundary values, causal diagrams, state diagrams, orthogonal methods, and outline methods.

63. How many methods are there in object-oriented test case design? How to implement them?

Design a set of test cases for each constructor in the class

Class variables, instance variables in composite classes

Various methods in composite classes

Design test cases based on preconditions and postconditions

Design test cases based on code

64. Which three modules does LoadRunner divide into? Please briefly describe the main functions of each module.

Virtual User Generator: for recording footsteps

Mercury LoadRunner Controller: used to create, run and monitor scenarios

Mercury LoadRunner Analysis: Used to analyze test results

65. What is your greatest interest in testing? Why?

The biggest interest is that the test is difficult and challenging! The longer you do the test, the more difficult it is to do it well. I once saw an article on the worry-free test network about how to be a good test engineer. A total of 11 and 12 points are listed, some of which are related to human personality, and some of which require acquired efforts. But apart from 1 and 2 points related to personality, I am not sure, and I am very confident in doing it well in other points.

When I first entered the testing industry, my understanding of testing was based on some information I learned from the Wuyou Test website. At that time, it was because testing required a lot of skills to do well. Although it was easy to get started, it was difficult to do well, and it was even more difficult than development. Although I really wanted to do development at the time (I basically did not miss professional courses in school, because I like my major), but seeing that testing was more difficult and challenging than development, my will to do a good job in testing became stronger.

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 is released, use cases should be written well. What test method should be used? (That is, test plan or test strategy). The basics are not so simple, which requires your conscious learning ability, such as the website, the most basic technical knowledge you need to know how the website works internally, how does the background respond to user requests? How to build a test environment? These all need to be learned at the earliest. At least the basic preparations can be made before starting the test. What difficulties may be encountered? Are the details of the requirements not determined? These problems can be found when designing use cases.

The second is the time to find bugs. This should be the most basic task for testers. Generally, most bugs can be found by starting the test according to the test cases. There are still some bugs that need to be tested to get more information about the version under test, supplement the test cases, and test out the bugs. And how to find bugs? This requires carefulness and patience to find bugs when test cases are valid. Bugs may be found in every use case, and errors may occur in every place, so the thinking must be clear during the test process (the data flow and results of the test process must be read carefully, and bugs are found in it). How to describe the bug is also very particular. Under what circumstances does the bug occur? If the conditions change a little, the bug will not exist. What are the minimum steps to reproduce the bug? What is the law of the bug? If you are good enough, you can help the developer to initially locate the problem.

66. What types of software testing are you familiar with? Please try to compare the differences and connections of these different testing types (such as functional testing, performance testing...)

Test types are: functional test, performance test, interface test.

Functional testing accounts for the largest proportion of testing work, and functional testing is also called black box testing. is to treat the test object as a black box. When using the black box testing method for dynamic testing, it is necessary to test the function of the software product, without testing the internal structure and processing process of the software product. The methods of designing test cases using black-box technology include: equivalence class division, boundary value analysis, error guessing, cause-and-effect diagram and comprehensive strategy.

Performance testing is to test various performance indicators of the system by simulating various normal, peak and abnormal load conditions through automated testing tools. Both load testing and stress testing are performance testing, and they can be combined. Through load testing, determine the performance of the system under various workloads. The goal is to test the changes in various performance indicators of the system when the load gradually increases. Stress testing is a test to obtain the maximum service level that the system can provide by determining the bottleneck or unacceptable performance point of a system.

Interface testing, the interface is the most direct layer of interaction between the software and the user, and the quality of the interface determines the user's first impression of the software. Moreover, a well-designed interface can guide users to complete corresponding operations by themselves, playing the role of a guide. At the same time, the interface is like a human face, which has the direct advantage of attracting users. A well-designed interface can bring users a feeling of ease, joy and success. On the contrary, due to the failure of interface design, users will feel frustrated. No matter how practical and powerful the function is, it may be wasted in the fear and abandonment of users.

The difference is that functional testing focuses on all the functions of the product, taking into account every detailed function and every possible functional problem. Performance testing mainly focuses on the stability and robustness of the product under multi-user concurrency as a whole. Interface testing focuses more on user experience. Is the product easy to use, easy to understand, standardized (such as shortcut keys), beautiful (whether it can attract the user’s attention), and safe (try to prevent users from entering invalid data unintentionally at the foreground. Of course, considering the experience, it should not be too rude to pop up warnings)? , unit test, integration test, system test, acceptance test difference and connection

.

Black box testing: Knowing the functional design specifications of the product, testing can be performed to prove whether each implemented function meets the requirements.

White box testing: Knowing the internal working process of the product, it can be tested to prove whether each internal operation meets the design specifications and whether all internal components have been checked.

Black-box testing of software means that testing is performed at the interface of the software. This method regards the test object as a black box, and the tester does not consider the logical structure and internal characteristics of the program at all, but only checks whether the function of the program conforms to its function description according to the requirements specification of the program. 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:

1. Are there any incorrect or missing functions? 2. On the interface, can the input be correctly accepted? Can the correct result be output? 3. Are there any data structure errors or external information (such as data files) access errors? 4. Can the performance meet the requirements? 5. Are there initialization or termination errors?

White box testing of software is a detailed inspection of the procedural details of the software. This method regards the test object as an open box, which allows testers to use the internal logical structure and related information of the program to design or select test cases and test all logical paths of the program. Determine whether the actual state is consistent with the expected state by examining the program state at various points. Therefore, white box testing is also called structural testing or logic-driven testing. White box testing mainly wants to check the program modules as follows:

1. Test all independent execution paths of program modules at least once.

2. For all logical judgments, the two situations of taking "true" and taking "false" can be tested at least once.

3. Execute the loop body within the bounds of the loop and within the bounds of the run.

4. Test the validity of internal data structures, etc.

A unit test (module test) is a small piece of code written by a developer to verify that a small, very specific function of the code under test is correct. Generally speaking, a unit test is used to judge the behavior of a specific function under a specific condition (or scenario).

Unit testing is done by the programmers themselves, and it is the programmers who ultimately benefit from it. It can be said that programmers are responsible for writing functional code, and at the same time they are also responsible for writing unit tests for their own code. Unit testing is performed to prove that the behavior of this code is consistent with our expectations.

Integration testing (also called assembly testing, joint testing) is a logical extension of unit testing. In its simplest form, two tested units are combined into a component and the interface between them is tested. In this sense, a component refers to the integrated aggregation of multiple units. In a real-world program, many units are combined into components, and these components are aggregated into larger parts of the program. The approach is to test combinations of fragments, and eventually extend the process, to test your module with other groups of modules. Finally, all the 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 verify whether the system can indeed provide the functions specified in the system scheme 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 product requirements and follows the system design.

Acceptance testing is the last testing operation before deploying software. The purpose of acceptance testing is to ensure that the software is ready and can be used by end users to perform the software's intended functions and tasks.

Acceptance testing demonstrates to future users that the system works as intended. 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 validity of the software should be further verified. This is the task of the acceptance test, that is, the functional performance of the software is as expected by the user.

68. How do you cope when the developer says it's not a bug?

The developer said it was 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 find the product manager to confirm whether it needs to be changed. The second is that this kind of situation cannot happen, so there is no need to modify it. At this time, I can first tell what is the basis for the BUG as much as possible. If it is discovered by the user or something goes wrong, what will be the bad result? The programmer may give you many reasons, and you can refute his explanation. If it still doesn't work, then I can raise this issue and confirm with the development manager and test manager. If you want to modify it, change it, if you don't want to modify it, don't change it. In fact, some are really not bugs, and I just write them into TD in the suggested way. If the developers don't modify them, there will be no major problems. If it is determined to be a bug, you must stick to your position and let the problem be finally confirmed.
69. Why should software testing work be carried out in a team?

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

71. What should a test plan include?

Background, project brief, purpose, test scope, test strategy, division of labor, resource requirements, schedule, reference documents, common terms, submission documents, risk analysis.

72. Based on the industry background of software, how do you understand the business of software?

Read the user manual to understand the function and operation process of the software; read some business professional books to supplement business knowledge; if you have actual user data, you can use the actual data for reference; refer to previous use cases and BUG reports; think more in the process of using the software; communicate more with product managers.

74. How to locate the role of test cases?

Organization: writing, organization, functional coverage, repeatability, tracking, test confirmation

76. What is a compatibility test? Please give an example of how to use the compatibility test list for testing.

Mainly verify the compatibility of software products between different versions. Including backward compatibility and cross-compatibility, backward compatibility is the case where a new version of the test software retains the functions of its earlier version, and cross-compatibility is to verify the compatibility between two related but not identical products that co-exist.

77. After testing a certain software, it is found that it runs very slowly on WIN98. How to distinguish whether there is a problem with the software or a problem with the operating environment of the software and hardware?

Check the operating environment requirements of the software. If it meets the requirements, there is a problem with the program. If it does not meet the requirements, there is a problem with the hardware system.

78. What are the precautions for requirement testing?

是否使用了公司的模板、文档内容是否符合规范、所有的需求是分级是否清析适当、所有的需求是否具有一致性、需求是否可行(即,该需求组合有解决方案)、需求可否用己知的约束来实现、需求是否足够(即,可以把它送到一个规范的开发组织,并有一个生产出所需要产品的合理的可能性)、所有的其它需求是交叉引用是否正确、用户描述是否清楚、是否用客户的语言来描述需求、每个需求描述是否清楚没有岐义,可以移交给一个独立的组去实现时也能理解、是否所有的需求都是可验证的、是否每条需求都具有独立性,即使发生了变化也不会影响其它需求、性能指标是否明确、非功能性需求是否得到充分表现、是否完整列出适用的标准或协议、标准和协议之间是否存在冲突

81、主键、外键的作用,索引的优点与不足?

Answer: Primary key: It is the unique identification key in the table. Function: To ensure the integrity of the entity; to speed up the operation of the database; when adding a new table record, the database will automatically retrieve the primary key value of the new record, and the value is not allowed to be repeated with the primary key recorded in other tables; the database will display the records in the order of the primary key values, if no primary key is set, the records will be displayed in the order entered.

Foreign key: It is subordinate to the primary key and represents the connection between the two tables. Role: Using foreign keys can avoid redundancy.

Advantages of the index: 1. By creating a unique index, the uniqueness of the data in the table can be guaranteed; 2. Accelerate the retrieval speed of data; 3. Accelerate the connection between tables; 4. When using grouping and sorting data retrieval, the time of grouping and sorting can be significantly retrieved;

Disadvantages: 1. It takes time to create an index, and it increases with the increase of data volume; 2. The index needs to occupy physical space;

3. When modifying the data in the table, the index should also be dynamically maintained, which reduces the speed of data maintenance.

84. What is the process of performance testing?

1. Analysis of test requirements 2. Formulation and review of test plans 3. Design and development of test cases 4. Test execution and monitoring 5. Analysis of test results 6. Writing performance test reports 7. Summary of test experience 88. Briefly describe the life cycle of bugs

?

1. Effectively record BUG 2. Use BUG template 3. Evaluate BUG priority and severity 4. BUG life 5. Maintain BUG database

89. What should defect records contain?

Defect identification, defect type, defect severity, defect possibility, defect priority, defect status, defect origin, defect source, defect cause; 91 What types of

software testing are you familiar with? Please try to compare the differences and connections of these different test types (such as functional testing, performance testing...)

Usability test-friendliness of the interface, ease of operation, etc.

Functional testing - the fulfillment of functional requirements in the system

Security testing - whether there are security risks and vulnerabilities in the system

Performance testing - response speed and robustness of the system under large concurrency
93. What do you think is the key to doing a good job in test planning?

Understand the business requirements of the project or system

Coordinate with the project manager and understand the project schedule and arrangement
95. What do you think is the key to doing a good job in test case design?

You are very clear about business and software requirements, and you can choose different test case designs according to different requirements.

96. Have you ever carried out test case review work in your previous work? If yes, please describe the process and content of test case review.

Review plan->pre-review->review;

The content of the review is mainly the coverage of the test cases to the software requirements, whether to consider the relevant boundaries, whether to prepare multiple sets of test data for complex processes, and whether there are tests specifically for non-functional requirements.

98. What do you think is the purpose of performance testing? What is the key to doing a good job in performance testing?

The key is to record the test script and keep the test environment clean during the test.


100. Did you use any tools to manage software defects (Bugs) in your past software testing work? If yes, please describe the process of software defect (Bugs) tracking management in combination with the tools.

CQ, you can also use free tools such as BugFree.

101. How do you think about software process improvement? Are there any things that need to be improved in the enterprises you have worked in? What kind of working environment do you expect for an ideal tester?

Solidify advanced experience or ideas into the process, and improve software quality through process improvement and capability improvement.

TCP/IP five-layer protocol: application layer, transport layer, network layer, data link layer, hardware layer

Thanks to everyone who has read my article carefully. Seeing the fans’ growth and attention all the way, there is always a need for reciprocity. Although it is not a very valuable thing, you can take it away if you need it:

① More than 2,000 software testing e-books (mainstream and classic books should be available)

② Software testing/automated testing standard library information (the most complete Chinese version)

③ Project source code (forty or fifty interesting and classic hand-practice projects and source code)

④ Python programming language, API interface automated testing, web automated testing, App automated testing (suitable for beginners)

⑤ Python Learning Roadmap (Farewell to Influential Learning) 

In my QQ technology exchange group (technical exchange and resource sharing, advertisements come in and break your legs)

You can take it away by yourself. The free information in the group number 953306497 (note "csdn111") is the essence of the author's more than ten years of testing career. There are also fellow masters to exchange technology together.

Guess you like

Origin blog.csdn.net/m0_59868866/article/details/120833236