Classic test interview questions
1. Give you a website, how to test it?First, look for relevant documents such as requirements specifications, website design, etc., and analyze test requirements.
To formulate a test plan, determine the test scope and test strategy, it can generally include the following parts: functional test, interface test, performance test, database test, security test, compatibility test.
Design test cases:
Functional testing can include but is not limited to the following aspects:
(1) Link test, whether the link jumps correctly, whether there is an empty page or invalid page, whether there is an incorrect error message returned;
(2) Submit function test;
(3) Whether the multimedia elements can be loaded and displayed normally;
(4) Whether the multi-language support can correctly display the selected language;
Interface testing can include but is not limited to the following aspects:
(1) Whether the page style is uniform and beautiful;
(2) Whether the page layout is reasonable, whether key content and hot content are highlighted;
(3) Whether the control is used normally;
(4) For necessary but not installed controls, whether to provide automatic download and installation functions;
(5) Text inspection;
Performance testing generally considers the following aspects:
Stress test, load test, strength test;
(1) Check the basic login function;
(2) Whether there is an overflow error, which causes the system to crash or the authority is leaked;
(3) Check common security issues of related development languages, such as SQL injection, etc.;
Compatibility test, according to the content of the requirement description, determine the supported platform combination:
(1) Browser compatibility;
(2) Operating system compatibility;
(3) Compatibility of software platform;
(4) Database compatibility;
2. What is software testing? The purpose and principle of software testing?The process of operating a program under specified conditions to find program errors, measure software quality and evaluate whether it can meet design requirements.
The purpose of software testing:
(1) Testing is the execution process of the program, the purpose is to find errors;
(2) A successful test case is to find errors that have not been discovered so far;
(3) Ensure that the product has completed its promised or announced functions, and the functions that users can access have clear written instructions;
(4) Ensure that the product meets the performance and efficiency requirements;
(5) Ensure that the product is robust and adaptable to the user environment;
Principles of software testing:
(1) A required part of the test case is to define the expected output;
(2) Programmers should avoid testing their own programs;
(3) The execution results of each test should be thoroughly checked;
(4) The writing of test cases should not only be based on valid and expected input but also based on invalid and unexpected input;
(5) The test cases should be avoided immediately after use，unless the software itself is a one-time software;
(6) When planning test work, you should not tacitly assume that no errors will be found;
(7) The possibility of more errors in a certain part of the program is proportional to the number of errors found in that part;
(8) Software testing is a very creative and intellectually challenging work;
3. What is the main test case design method at present?White box testing: logical coverage, loop coverage, condition coverage, basic path coverage
Black box testing: boundary value analysis method, equivalence class division, wrong guessing method, causality diagram method, scenario method
4. What is a test case, what is a test script, and what is the relationship between the two?Test case: A set of sets provided to the system under test for the implementation of tests. This set of sets includes use case name, use case number, preconditions, input data, test steps, expected results, actual results, etc.
Test script: A script written for testing. The writing of the test script must correspond to the corresponding test case.
5. Briefly describe what is a static test, dynamic test, black-box test, white-box test, alpha test, beta test?Static testing: the process of looking for possible errors in the program code or evaluating the program code without running the program itself;
Dynamic test: Actually run the program under test, enter 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 system operation efficiency and Robustness and other performance;
Black box test: generally used to confirm the correctness and operability of the software function, the purpose is to detect whether the various functions of the software can be realized, the tested program is regarded as a black box, regardless of its internal structure, knowing the program In the case of the relationship between the input and output or the function of the program, rely on the software specification to determine the test cases and infer the correctness of the test results;
White box testing: Testing is based on the analysis of the internal logic structure of the software. It is a code-based test. Testers judge the quality of the software by reading the program code or by using single-step debugging in the development tool;
Alpha test: It is a test conducted by a user in a development environment or a controlled test conducted by an internal user in a company that simulates an actual operating environment. Alpha testing cannot be done by programmers or testers;
Beta testing: multiple users of the software test in the actual use environment of one or more users, and development is usually not on-site;
6. What are the tasks of testers 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 user needs and ensure that the system meets user needs;
Overall goal: to ensure the quality of the software.
7. How to describe a bug?A qualified bug description should include the following parts:
(1) The version in which the problem was found;
(2) The environment in which the problem occurred (the test environment when the bug occurred);
(3) Steps to reproduce the error;
(4) Description of expected behavior;
(5) Description of wrong behavior (including some screenshots, videos, etc.);
(6) The severity level and priority of the bug;
(7) Don't put multiple bugs together;
8. What is usually done in each phase of software testing?Unit test 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 correctly implements the specified functions. In this stage Generate a unit test report and submit a defect report.
Integration testing stage: Integration testing is based on unit testing. It tests whether all the software units are assembled into modules, subsystems ,or systems by the requirements of the outline design specifications. Required activities, this stage generates integration test reports and submits defect reports.
System testing stage: 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. Under the actual operating environment, the computer system carries out comprehensive functional coverage, and a test summary and defect report need to be submitted at this stage.
9. Black box testing and white box testing are two basic methods of software testing. Please explain their respective advantages and disadvantages?Black box testing advantages: relatively simple, do not need to understand the internal code and implementation of the program, and have 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 which problems will be encountered, based on Software development documents, so you can also know which functions the software implements in the documents, which is more convenient when doing software automation.
Disadvantages of black-box testing: it is impossible to cover all the code, the coverage rate is low, about only 30% of the total code volume, and the reusability of automated testing is low.
Advantages of white-box testing: Help software testers increase code coverage, improve code quality, and discover hidden problems in code.
Disadvantages of white-box testing: there are many different paths in the program running, and it is impossible to test all running paths; the test is based on the code and can only test whether the developer is right, and cannot know whether the design is correct or not, and some may be missed Functional requirements; when the system is large, the test overhead will be very large.
ZenTao , with 43% market share in testing management tools, is the most popular test management tool in China for the fifth consecutive years, according to the survey by 51testing.com, a professional software testing service provider which provides the overall solution of software testing for enterprises, trains excellent software testing talents for the industry, and provides an open platform for software testing and collaboration.