(Pure dry goods) Prepare for "Gold 3 Silver 4" and win these 101 interview questions "10 get 9 stable"!

Foreword:

The interview season of "Gold 9 Silver 10" is coming soon, here the author has compiled some interview questions commonly used by big companies, I hope it can be helpful to you
Insert picture description here

text:

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

First, submit the problem to the defect management database for record.

Then, to obtain the basis and standards for judgment:

According to the requirements specification, product description, design documents, etc., confirm whether the actual results are inconsistent with the plan, and provide a direct basis for confirming the defects;
if there is no document basis, you can explain whether there are inconsistencies based on the general characteristics of similar software. To confirm whether it is a defect;
according to the user’s general usage habits, to confirm whether it is a defect;
discuss with designers, developers and customer representatives and other relevant personnel to confirm whether it is a defect; make a
reasonable argument and explain your judgment to the test manager Reasons, pay attention to being objective, rigorous, and not mixed with personal emotions.

Wait for the test manager to make the final decision. If there is still a dispute, you can report it to the superior through the channel provided by the company policy, and the superior can make a decision.

2. Question: How do you test a website for you?

First, look for relevant documents such as requirements descriptions and website design, and analyze test requirements.

Develop test plan, determine test scope and test strategy, 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:

Link test. Whether the link jumps correctly, whether there are empty pages and invalid pages, whether there is an incorrect error message returned.
Submit a functional test.
Whether the multimedia elements can be loaded and displayed correctly.
Whether the multi-language support can correctly display the selected language, etc.
Interface testing can include but is not limited to the following aspects:

Whether the page style is uniform and beautiful.
Whether the layout of the page is reasonable, whether the key content and hot content are prominent. Whether the
control is used normally.
For the necessary but not installed control, whether the automatic download and installation function is provided. The
text check The
performance test is generally considered from the following two aspects:

Stress test; load test; strength test

Database testing needs to specifically determine whether it needs to be carried out. Databases generally need to consider aspects such as connectivity, data access operations, and data content verification.

Security test:

Check the basic login function. Check
whether there are overflow errors, causing system crashes or leakage of permissions
. Check common security issues related to development languages, such as SQL injection, etc.
If you need advanced security testing, be sure to get help from a professional security company and outsource testing. Or get the support
compatibility test, and determine the supported platform combination according to the requirements description:

Browser compatibility;
operating system compatibility;
software platform compatibility;
database compatibility
Carry out tests and record defects. Reasonably arrange and adjust the test schedule, obtain the resources required for the test in advance, and establish a management system (for example, demand changes, risks, configurations, test documents, defect reports, human resources, etc.).

Periodically 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 for testing.

Establish test plan, determine test standards and test scope.
Design test cases for typical scenarios, covering common business processes and uncommon business processes, etc.
According to test cases, develop automatic test scripts and scenarios:
Record test scripts: Create a new script (Web/HTML Protocol); click the record button, and enter "about:blank" in the URL of the pop-up dialog box; end the recording after the normal operation process in the opened browser; debug the script and save it, you may need to pay attention to the character set association .

Set test scenarios: Set test scenarios for performance, mainly to determine whether the average transaction response time of the system meets the standard under normal conditions; set test scenarios for stress loads, mainly to determine if the system is under full load for a long time or exceeds the capacity of the system. Whether the system will crash; execute tests, obtain test results, analyze test results

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

300 users on a client, it will take up more resources of the client, and affect the test results. Interference may occur between threads, and some exceptions may occur.
300 users are on one client, which requires 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, and there is no need to consider the issue of distributed management; while users are distributed on different clients, you need to consider using a controller to deploy users on different clients as a whole. At the same time, you also need to give the corresponding authority configuration and firewall settings.
5. What are the concepts and characteristics of the software? The meaning of software reuse? What are the components?

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

Software reuse (SoftWare Reuse) is the use of various related knowledge of existing software to build new software 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. The reused knowledge specifically referred to the program, and later expanded to include 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, life cycle. It refers to the whole process from the formation of the developed software concept, after the developed software is used, until it loses its use value and dies. Generally speaking, the entire life cycle includes three periods of planning (definition), development, and operation (maintenance). Each period is divided into several stages. Each stage has clear tasks.

Periodic model (typical types):

Waterfall model
rapid prototyping model: The rapid prototyping model allows preliminary rather than complete analysis and definition of software requirements in the requirements analysis stage, and quickly design and develop a prototype of the software system, which shows users all or part of the functions of the software to be developed And performance; the user tests and evaluates the prototype, and gives specific improvement suggestions to enrich and refine the software requirements; the developers modify and improve the software accordingly, until the user is satisfied and approved, complete the software implementation, testing and maintenance.
Iteration model: Iteration includes all development activities that produce a product release (stable, executable product version) and all other peripheral elements necessary to use the release. To a certain extent, development iteration is a process that goes through all the workflows at once: requirements analysis, design, implementation, and testing workflows. In essence, it is similar to a small waterfall project. RUP believes that all stages can be subdivided into iterations. Each iteration will produce a product that can be released, which is a subset of the final product.
Life cycle stage:

Software planning and feasibility analysis
Demand analysis
Software design
coding
Software testing
Operation and maintenance
7. What is software testing? The purpose and principles of software testing

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

The purpose of software testing:

Testing is execution of the program, aims to discover the error
of a successful test is found wrong so far not found
a successful test is found wrong so far found no test
to ensure the completion of the product features it promised or announced, and The functions that users can access have clear written instructions.
Ensure that the product meets performance and efficiency requirements.
Ensure that the product is robust and adapt to the user environment
. Principles of software testing:

Must be part of a test case output is expected to take over or define
Programmers should avoid testing their own procedures to prepare the
organization to write software should not write their own software testing
should be a thorough examination of the results of each test
to write test cases should not only According to valid and expected input conditions, and also according to invalid and unexpected input conditions
, whether the program "does not do what it should be" is only half of the test, and the other half of the test is to check whether the program "does" “What it should not do”
should avoid test cases that are discarded after use, unless the software itself is a one-time software. When
planning the test work, you should not tacitly assume that you will not find
the possibility of more errors in a certain part of the program. The number of errors has been found to be proportional.
Software testing is a very creative and intellectually challenging task.
8. What is the role of software configuration management? What does the software configuration include?

Software Configuration Management (SCM) is a technique for identifying, organizing, and controlling modifications. Software configuration management is applied to the entire software engineering process. Changes are inevitable when the software is built, and changes aggravate the confusion among software developers in the project. The goal of SCM activities is to identify changes, control changes, ensure correct implementation of changes, and report changes to other relevant personnel. From a certain perspective, SCM is a technique for identifying, organizing, and controlling modifications. The purpose is to minimize errors and maximize production efficiency.

Software configuration includes the following contents: configuration item identification, workspace management, version control, change control, status report, configuration audit

9. What is software quality?

In a nutshell, software quality is "the degree to which the software conforms to clearly and implicitly defined requirements." Specifically, software quality is the degree to which the software meets the clearly stated function and performance requirements, the development standards clearly described in the document, and the implicit features that all professionally developed software should have. The main factors affecting software quality, these factors are the measurement of software quality from a management perspective. It can be divided into three groups, reflecting the three views of users when using software products. Correctness, robustness, efficiency, completeness, availability, 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: logical coverage, loop coverage, basic path coverage

Black box testing: boundary value analysis method, equivalence class division, error guessing method, causality diagram method, state diagram method, test outline method, random test, scenario method

11. Where should the security of the software be tested?

Software security testing includes program and database security testing. The test strategy is also different according to different system safety indicators.

The test of user authentication security should consider issues: 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 the change of user rights, whether the user login password is visible, can be copied, whether You can log in to the system through absolute means (copy the link after the user logs in and directly enter the system), whether the user has deleted all authentication marks after logging out of the system, whether the back key can be used to enter the system without entering a password, and the system network security test should be considered Questions, test whether the protective measures taken are properly assembled, whether the relevant system patches are applied, and unauthorized attacks are simulated, to see whether the protective system is strong, and mature network vulnerability checking tools are used to check system related vulnerabilities (ie, use the most professional hacker attack tools Try the attack, the most commonly used now are the NBSI series and IPhacker IP), use various Trojan horse checking tools to check the system Trojan horse situation, and use various anti-plug tools to check the external vulnerabilities of each group of programs in the system.
Database security considerations: Is the system data confidential? (For the banking system, for example, this is particularly important. General websites do not have too high requirements), system data integrity (the enterprise real-name verification service system that I just ended has data incompleteness, for this system Obstacles to function realization), system data manageability, system data independence, system data backup and recovery capabilities (whether the data backup is complete, can be restored, and can the restoration be complete)
12. What is a test case and what is a test script What is the relationship between the two?

A specific set of input data, operations or various environmental settings and expected results provided to the tested system 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, beta testing

Static testing is the process of looking for possible errors in the program code or evaluating the 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, 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 testing is generally used to confirm the correctness and operability of software functions. The purpose is to check whether the various functions of the software can be realized. The program under test is regarded as a black box, regardless of its internal structure. 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 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. Generally, the black box testing is performed by the project manager. It is implemented by programmers.
Alpha testing is a test performed by a user in a development environment, or a controlled test performed by an internal user in a company that simulates the actual operating environment. Alpha testing cannot be completed by programmers or testers.
Beta testing is a test performed by multiple users of the software in the actual use environment of one or more users. Developers are usually not on the test site, and Beta testing cannot be done by programmers or testers.
14. What is the software quality assurance system? What are the several standards related to quality assurance management in the national standard? What are their number and full name?

SQA consists of a set of software engineering processes and methods to ensure (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.

SQA-Software Quality Assurance (SQA-Software Quality Assurance) is to establish a planned and systematic method to assure the management that the standards, procedures, practices and methods formulated can be correctly adopted by all projects. The purpose of software quality assurance is to make the software process visible to managers. It verifies that the software is up to standard by reviewing and auditing software products and activities. The software quality assurance team participates in the establishment of plans, standards and processes at the beginning of the project. These will enable the software project to meet the requirements of the institutional policy.

15. What are the quality characteristics of software products?

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

Reliability: maturity, fault tolerance, and easy recovery.

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

Efficiency: time characteristics, resource characteristics.

Maintainability: easy to analyze, easy to change, stable, easy to test.

Portability: adaptability, easy installation, compliance, easy replacement

16. What is the strategy of software testing?

Software testing strategy: Under the guidance of certain software testing standards and testing specifications, a collection of software testing principles, methods, and methods specified in accordance with the specific environmental constraints of the test project.

17. What are the testing strategies and requirements for software testing in several stages?

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 smallest unit of software design-program modules and even code segments for correctness testing, 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: The system test is carried out after the integration test is passed, the purpose is to fully operate the system, verify whether each subsystem can work normally and complete the design requirements. It is mainly carried out by the testing department and is the largest and most important test in the testing department, which has a significant impact on the quality of the product.
Acceptance test: The acceptance test takes the "Requirement Specification" in the demand stage as the acceptance standard, and requires simulation of the actual user's operating environment during the test. For the actual project, it can be carried out with the customer. For the product, it is the last system test. The test content is a comprehensive test of the functional module, especially the document test.
Unit test test strategy:

Top-down unit testing strategy: much higher than the cost of isolated unit testing, not a good choice for unit testing.

Bottom-up unit test strategy: A more reasonable unit test strategy, but the test cycle is longer.

Isolated unit testing strategy: the best unit testing strategy.

Test strategy for integration testing:

Big Bang integration: suitable for a maintenance project or a small system under test

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

Bottom-up integration: It is more stable to adapt to the underlying interface; the high-level interface changes more frequently; the underlying components are completed earlier.

Advantages of schedule-based integration: It has a high degree of parallelism; it can effectively shorten the development schedule of the project. Disadvantages: the pile and driver workload is large; some interface tests are not sufficient; some tests are repeated and wasteful.

Test strategy for system testing:

Data and database integrity testing; functional testing; user interface testing; performance evaluation; 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 test; document test

18. What is usually done in each phase of software testing? What are the result files of each stage? 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 correctly implements the specified functions. Generate unit test report and submit 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 in accordance with the requirements of the outline design specifications. The requested activity. In this stage, an integration test report is generated and a defect report is submitted.

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 The computer system carries out comprehensive functional coverage. At this stage, a test summary and defect report need to be submitted.

19. 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 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 past work, what is included in a software defect (or bug) record? How to submit high-quality software defect (Bug) records?

Basically, a bug record should contain:

  • bug number;
  • The severity level and priority of the bug;
  • The module that the bug generated;
  • First, there must be a bug summary to explain the general content of the bug;
  • The version corresponding to the bug;
  • Detailed description of the bug phenomenon, including some screenshots, videos... etc.;
  • The test environment when the bug appears, and the conditions generated correspond to the operation steps;

High-quality bug records:

  1. The universal UI must be unified and accurate
    . The UI of the defect report must be consistent with the UI of the tested software, so that it is easy to find and locate.
  2. Try to use the usual expression terms and expression methods
    used in the industry as much as possible. Use the usual expression terms and expression methods in the industry to ensure accurate expression and professionalism.
  3. Each defect report includes only one defect.
    Each defect report includes only one defect, which enables the defect fixer to quickly locate a defect and concentrate on correcting only one defect at a time. The verifier only verifies whether one 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. Defects that cannot be reproduced should be reproduced as best as possible. If the defects cannot be reproduced after doing their best, the defect must still be reported, but the frequency of the defect that cannot be reproduced should be indicated in the report.
  5. Clearly indicate the type
    of defect According to the phenomenon of the defect, summarize and judge the type of defect. For example, that is, functional defects, interface defects, and data defects. Reasonable suggestions are the most common types of defects or defects. Other forms of defects or defects are also subordinate to one of them.
  6. Clearly indicate the severity and priority of the defect.
    Always clarify the difference between the severity and priority of the defect . Highly serious issues may not be worth solving, and small cosmetic issues may be treated as high priority.
  7. Description (Description), concise, accurate and complete, reveal the essence of the defect, record the defect or the location where the defect occurs The
    description should accurately reflect the essence of the defect, short and clear. In order to find the specified 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, record the title of the dialog box, the name of the menu, button and other controls.
  8. Use automatic digital serial numbers between short lines and use the same font, font size, and line spacing
    . Use automatic digital serial numbers between short lines and use the same font, font size, and line spacing to ensure that the format of each record is consistent and professional.
  9. Try to record only one operation for each step to
    ensure that it is concise, organized, and easy to repeat the operation steps.
  10. Confirm that the steps are complete, accurate and short. To
    ensure rapid and accurate repetition of defects, "complete" means no omissions, "accurate" means correct steps, and "short" means no redundant steps.
  11. According to the defect, you can choose whether to capture the image.
    In order to observe the defect or defect phenomenon intuitively, it is usually necessary to attach the defect or the interface where the defect appears, in the form of a picture as an attachment attached to the "attachment" part of the record. In order to save space and truly reflect the defect or the nature of the defect, the full screen, active window and partial area of ​​the defect or defect can be captured. In order to quickly locate and correct the defect or defect location, it is usually required to attach a Chinese 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 the defect fixer further clarify the defect or the manifestation of the defect, it is possible to add personal suggestions or comments for modification.
  12. Check spelling and grammar defects
    Before submitting each defect or defect, check the spelling and grammar to ensure that the content is correct and the defect is described correctly.
  13. Try to use phrases and short sentences to avoid complex sentence patterns
    . The purpose of the software defect management database is to facilitate the location of defects. Therefore, it requires an objective description of the operating steps without the need for modified vocabulary and complex sentence patterns to enhance readability.
    The above summarizes the specification requirements for reporting test defects. With different software testing requirements, testers have accumulated corresponding testing experience after long-term testing, and will gradually develop good professional habits and continue to supplement new specification writing requirements. In addition, frequently reading and studying test defect reports of other test engineers, and comparing and thinking with one's own previous test defect reports can continuously improve skills.
  14. Defect description content
    Defect description content can include defect operation steps, actual results and expected results. The operation steps are convenient for developers to reproduce defects and make corrections. Some developers have poor ability to reproduce defects. Although they understand the defects you are referring to, they cannot reproduce, especially new developers who are not familiar with the system. The introduction steps can facilitate them Reappear. The actual result allows the developer to understand what the error is, and the expected result allows the developer to understand how 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 which problems will be encountered; Based on the software development document, it is also possible to know which functions in the document are implemented by the software; 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; 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 find hidden problems in the code.

  • The disadvantages of white box testing are: there are many different paths for the program to run, 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 correct, but cannot know whether the design is correct or not, and may miss Some functional requirements are dropped; when the system is large, the test overhead will be very large.

22. How to test a paper cup?

  • Functionality: Fill a glass with water and not leak; can the water be drunk

  • Safety: Whether the cup is poisonous or bacteria

  • Reliability: the degree of damage to the cup falling 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 there are anti-slip measures, whether it is convenient to drink

  • User documentation: Does the user manual have a detailed description of the usage, restrictions, and conditions of use of the cup?

  • Fatigue test: Put the cup with water (case 1) for 24 hours to check the time and condition of leakage; put the cup with gasoline (case 2) for 24 hours to check the time and condition of leakage, etc.

  • Pressure test: use a needle and continuously add weight to the needle, see how high the pressure will penetrate

22. What is the purpose of test planning? What should be included in the test plan document? Which of these are the most important?

The 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.
Testers can understand the entire project test situation and the work to be done in different stages of project testing. It is
convenient for other personnel to understand the testers’ work content and carry out relevant cooperation work
including products. Overview, test strategy, test method, test area, test configuration, test cycle, test resources, test communication, risk analysis, etc. With the help of the software test plan, the project members participating in the test, especially the test managers, can clarify the test tasks and test methods, maintain smooth communication in the test implementation process, track and control the test progress, and respond to various changes in the test process.

6 elements of test plan preparation (5W1H):

  • why-why are these tests required;
  • what—what aspects to test and the content of work at different stages;
  • when—start and end time of different stages of testing;
  • where—corresponding documents, storage location of defects, test environment, etc.;
  • who—The composition of relevant personnel of the project, and 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 detailed test specifications and test cases. The test plan mainly plans the scope, methods and resource allocation of test activities from a macro perspective, while the detailed test specifications and test cases are specific tactics for completing the test tasks. So the most important thing is to test the test strategy and test method (preferably review first).

Due to too much information and limited space, only 22 questions are released

Insert a sentence

Because there are too many materials and limited space, only 22 questions are released. Friends who need the complete works can join the group to receive.
I have also compiled some interview questions from major manufacturers and the collection of the latest information this year (2020). The following are some screenshots of the information (all information All have been integrated into documents, pdf compression and packaging processing).
If you have a friend in need, you can click here to get information, code: qf

Insert picture description here

Guess you like

Origin blog.csdn.net/w1103576/article/details/109163153