2023 software testing eight-legged essay (including answers + documents)

Part1

1. What is your testing career development?

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, accumulate testing experience in the first 3 years, ask myself according to the key points of how to be a good test engineer, constantly update myself and correct myself, and do a good job in testing tasks.

The advantage lies in my unswerving confidence and enthusiasm for testing. Although I am not experienced enough, I am confident that the basic skills required by testing can be used in my work.

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

You should have a certain ability to coordinate when doing testing, because testers often have to deal with some problems in contact with development, if they are not handled properly, some conflicts will arise, and it will be difficult to do work in this way. And testers must have a certain amount of patience, sometimes doing tests is very boring. In addition to being patient, testers cannot let go of every possible error.

3. Why are you able to do this line of testing?

Although my testing technology is not very mature, I think I can still be qualified for the job of software testing, because software testing not only requires good technology, but also has certain external factors such as communication skills, patience, and care. Taken together, I think I am qualified for this job.

4. What is the purpose of the test?

The purpose of testing is to find out the errors in the software product, and make the software meet the user's requirements as much as possible. Of course, it is impossible for software testing to find all errors.

5. What are the stages of the test?

Generally divided into 5 stages: unit testing, integration testing, confirmation testing, system testing, acceptance testing

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

The test object is the program error inside the module, and the purpose is to eliminate the errors and defects in the logic and function of the local module. The test basis is the detailed design of the module, and the test method is the white box test.

7. How to deal with overtime issues

I don't have much opinion on working overtime, but I still think that if you can arrange your time reasonably, you won't have too much time to work overtime.

8. Combining your previous study and work experience, how do you think the test should be done.

According to my previous work and study experience, I believe that good communication is the first thing to do a good job. Only when the communication is barrier-free, can there be good collaboration and better efficiency. Another thing is that the technology must pass the test. You must have enough patience in testing, and a good working habit. Ask if you don’t understand, and communicate with colleagues in real time. Only in this way can you do a good job in testing.

9. Why did you choose the software testing industry?

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

10. Describe the software development and testing process based on your previous work or study experience, which roles are responsible, and what do you do

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

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

Software quality assurance and testing is a process of carefully designing a batch of test cases (ie, input data and expected output results) according to the specifications of the software development stage and the internal structure of the program, and running the program according to these test cases to find errors. It is the testing of various aspects of an application to check its functionality, language validity, and its layout.

12. What is the process of software testing?

Requirements survey: comprehensively understand the system overview, application fields, software development cycle, software development environment, development organization, time arrangement, functional requirements, performance requirements, quality requirements and testing requirements, etc. Estimates of personnel, time and effort required for the project and project quotations based on the system overview.

Develop a preliminary project plan.

Test preparation: organizing the test team, training, setting up the test and management environment, etc.

Test design: carry out test design for each test item according to the test requirements, including the design of test cases and the development of test scripts.

Test implementation: implement the test according to the test plan.

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

I sorted out a wave of software testing resources released before [click the small card at the end of the article to get it for free], there is no routine to get it!

Basically covers all the core technical points of software testing: testing theory, Linux basics, MySQL basics, Web testing, interface testing, App testing, management tools, Selenium related, performance testing, computer networks, composition principles, data structures and algorithms, logic questions, human resources, technical brain maps, etc... The quality is very high ! ! ! More than enough for technical interviews!

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

SQA is a project team independent of software development. By monitoring the software development process, it ensures that the software development process follows the specified CMM procedures (if there is a corresponding CMM procedure), and promptly proposes suggestions and improvement plans for non-conforming items. When necessary, it can report to the senior manager for problem solving. In this way, the introduction of defects is prevented, thereby reducing the maintenance cost of later software. The main work activities of SQA include formulating SQA work plan, participating in the review of stage products, auditing process quality, functional configuration and physical configuration, etc.; measuring the data generated during the project development process, etc.

14. Talk about your understanding of software configuration management

During the development process of the project, corresponding configuration management tools should be used to control the change of configuration items (including the products of each stage). The use of configuration management depends on the project scale, complexity and risk level. The larger the software, the more important configuration management becomes. Also in configuration management, there is a very important concept, that is, baseline, which is a combination of various configuration items at a certain stage. A baseline provides a formal standard, and subsequent work is based on this standard, and this standard can only be changed after authorization. Configuration management tools mainly include CC, VSS, CVS, SVN, etc.

15. How to write test plans and test cases

To put it simply, the test plan should include detailed test strategies and test methods, reasonable and detailed resource arrangements, etc. As for test cases, it depends on whether the requirements (including functional and non-functional requirements) are refined to functional points, whether they can be tested, etc.

16. What is compatibility testing? What aspects does compatibility testing focus on?

Compatibility testing is mainly to check whether the software can run normally on different hardware platforms and software platforms, which is commonly referred to as software portability.

Compatible types, if subdivided, include platform compatibility, network compatibility, database compatibility, and data format compatibility.

The focus of the compatibility test is the analysis of the compatible environment. Usually, compatibility is only required when the environment in which the software is running is not very certain. According to the needs of software operation, or according to the requirements document, it is generally possible to obtain the environment in which the user will use the software, organize these environments into a form, and then obtain the compatible environment for compatibility testing.

The difference between compatibility and configuration testing is that configuration testing is usually not done under Clean OS, while compatibility testing is mostly done under Clean OS environment.

17. I have a program now, but it runs very slowly on Windows. How can I tell whether it is a problem with the program or a problem with the software and hardware system?

1. Check whether the system has the characteristics of poisoning;

2. Check whether the software/hardware configuration meets the recommended software standards;

3. Confirm whether the current system is independent, that is, it does not provide any external services that consume CPU resources;

4. If it is software with C/S or B/S structure, it is necessary to check whether it is caused by a problem with the connection to the server or a problem with access;

5. When the system is not under any load, check the performance monitor to confirm the application's access to CPU/memory.

18. What are the testing strategies?

Black box/white box, static/dynamic ## title, manual/automatic, smoke test, regression test, public beta (Beta test strategy)

19. Do you think there are any problems in the process of using bugzilla?

1. The interface is unstable;

2. Configure its different parts according to the needs, the process is very cumbersome.

3. In terms of process control, security is not well defined, and it is easy to misuse other people's bugs;

4. There is no comprehensive scoring index, and it is difficult to confirm the priority level of repair.

20. Describe the complete process of test case design?

1. Requirements analysis + maintenance of requirements changes;

2. Obtain test requirements according to requirements;

3. Design test plan and review test plan;

4. After the program review is passed, design test cases, and then review the test cases;

21. What are the strategies for unit testing?

Logic coverage, loop coverage, peer review, front desk inspection, code walkthrough, code review, Jingtai data flow analysis

22. What are the three parts of LoadRunner?

User action design; scene design; test data analysis;

23. What is the testing process of LoadRunner?

1. Familiar with business process and test planning

2. Create a virtual user script

3. Create a running scenario

4. Run the test script

5. Surveillance scene

6. Analyzing the test results

Above, it is best to combine a case and introduce it according to the above process.

24. Who is usually involved in the software review? What is the purpose of this?

In a formal meeting, the results of the software project (including documents of each stage, generated code, etc.) are submitted to users, customers or personnel of relevant departments for review and approval of the software product. Its purpose is to find out design flaws that may affect software product quality, development process, suitability for maintenance work, and environment, and take remedial measures, as well as find out possible improvements in performance, safety, and economy.

Personnel: Users, customers, or developers of relevant departments, testers, and demand analysts can all be used, depending on the stage of review

25. What is the difference between Beta testing and Alpha testing?

– Beta testing (β testing), 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

–Alpha testing (α 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

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

The software testing plan is to clarify the test object before the software testing work is officially implemented, and through comprehensive analysis and planning of resources, time, risk, testing scope and budget, etc., to ensure the effective implementation of software testing;

The key to doing a good job in test planning: purpose, management, specification

(1) 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. Therefore, the value of the software test plan depends on its ability to help manage test projects and find 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

(2) Adhere to the "5W" rule and 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).

(3) Adopt the review and update mechanism to ensure that the test plan meets the 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 change of software requirements may cause the increase or decrease of the test scope, but the content of the test plan is not updated in time, which misleads the test executives.

(4) Create test plans and test detailed specifications and test cases respectively. 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.

27. What do you think is the key to doing a good job in test cases?

Understanding of requirements and design documents, familiarity with the system

28. Briefly describe the life cycle of defects?

Submit -> Confirm -> Assign -> Fix -> Verify -> Close

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

(1) User authentication mechanism: such as data certificate, smart card, two-factor authentication, secure electronic transaction protocol

(2) Encryption mechanism

(3) Security protection strategies: such as security logs, intrusion detection, isolation protection, and vulnerability scanning

(4) Data backup and recovery methods: storage devices, storage optimization, storage protection, storage management

(5) Antivirus system

30. What do you think the standards for passing software testing should be?

The defect density value meets the customer's requirements

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

Requirements review (with developers, product managers, testers, project managers) -> Requirements determination (produce a determined requirement document) -> Development and design documents (developers can output design documents before starting to write code) -> Think about the test strategy, write test cases -> Send to developers and test managers (informal review use cases) -> Receive test version -> Execute test cases (use cases may be added in the middle) -> Submit bugs (some bugs need to be determined by developers (severe level, or suddenly discovered in the scope of test cases) Others, difficult to reproduce), some can be recorded directly into TD) -> developer modification (can be quickly modified during the test process) -> regression test (new problems may be found, and then start running according to the process)

32. How to understand stress, load, and performance testing?

Performance testing is a large scope. In fact, performance testing itself includes many aspects of testing content such as performance, strength, pressure, and load.

Stress test is a test of the stability and load capacity of the server, which is a very common test. Increasing the number of users accessing the system, or several users performing large data volume operations are all stress tests. The load test is a test with relatively high pressure, mainly to test the corresponding ability of the system under one or concentrated extreme conditions, and is an important part of the performance test. 100 users accessing the system continuously for half an hour can be regarded as a stress test, then 8 hours of continuous access to the system can be regarded as a load test, and 1000 users continuously accessing the system for 1 hour can also be regarded as a load test.

In fact, there is no clear distinction between stress testing and load testing. Testers should test the system with a focus on overall performance.

33. How to write a test report submitted to the user?

---- Prepared according to the internal test report, which can generally be excerpted;

----It is not possible to report serious defects to customers. Even if the defects have been modified, there is no need for customers to know the defects in development;

----Some defects can be listed on the report, but they must be intermediate defects, and these defects must be repaired; -The contents of the report should be as true and reliable as possible;

----The entire test report should be carefully reviewed, and strive not to bring negative effects to the project, especially the performance test report.

34. What are the test case design methods you are familiar with? Please use specific examples to illustrate the application of these methods in the design of test cases.

1 . equivalence class division

Divide equivalence class: Equivalence class refers to a subset of an input field. In this subset, each input data is equivalent to revealing errors 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 reasonably divided into several equivalence classes, and a small amount of representative test data can be used to obtain better test results by taking one data in each equivalence class as the input condition of the test. classes and void equivalence classes.

2. boundary value analysis

The method of boundary value analysis is a supplement to the method of equivalence class partitioning. 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

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. causal diagram method

The equivalence class division method and boundary value analysis method introduced above 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 among them. Model). The final result of the causal diagram method is the decision table. It is suitable for checking various combinations of program input conditions.

35. Where 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 you realize how difficult it is to do it well. Some of the tests are related to people's personality, and some of them require acquired efforts. But I am not sure about the personality, I am very confident in other points to do it well.

36. When the developer says it's not a bug, how do you deal with it?

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 say as much as possible what is the basis for the bug? 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.

37. Write some necessary content in the bug report.

Hardware Platform and Operating System

The hardware platform (Platform) of the test application, usually select "PC".

The operating system platform (OS) of the test application.

a) Version When submitting a defect report, use this field to identify which version of the tested software the defect exists in.

b) Bug report priority

c) Bug status

d) The number of the bug

e) Founder

f) The author

g) Designated processor

h) Overview

i) Affiliation

j) Detailed description

k) Severity

l) The module it belongs to

m) Accessories

n) date of submission

38. How to solve the problem that developers always make some low-level mistakes?

Start from two aspects:

On the one hand, start with development management, that is, solve problems from the root cause. A standardized development process can be formulated, and even a penalty system can be formulated, as well as planning and design before software development.

On the other hand, it is to strengthen testing. The specific method is to strengthen the developers' own testing and "eliminate" these problems in the development stage. This is a better way.

39. Briefly describe c/s mode or b/s mode?

C/S mode: client/server mode. Working principle: Client submits a request to Server; Server uses some methods to process the request and returns the result to Client.

The B/S structure, that is, the Browser/Server (browser/server) structure, mainly utilizes the increasingly mature WWW browser technology, combined with various Script languages ​​(VBScript, JavaScript...) and ActiveX technology of the browser, and uses a general-purpose browser to realize powerful functions that originally required complex special software and save development costs. It is a new software system construction technology.

Part2

1. What is compatibility testing? What aspects does compatibility testing focus on?

Reference answer:

Compatibility testing is mainly to check whether the software can run normally on different hardware platforms and software platforms, which is commonly referred to as software portability.

Compatible types, if subdivided, include platform compatibility, network compatibility, database compatibility, and data format compatibility.

The focus of the compatibility test is the analysis of the compatible environment. Usually, compatibility is only required when the environment in which the software is running is not very certain. According to the needs of software operation, or according to the requirements document, it is generally possible to obtain the environment in which the user will use the software, organize these environments into a form, and then obtain the compatible environment for compatibility testing.

The difference between compatibility and configuration testing is that configuration testing is usually not done under Clean OS, while compatibility testing is mostly done under Clean OS environment.

2. I have a program now, and it runs very slowly on Windows. How can I tell whether it is a problem with the program or a problem with the software and hardware system?

Reference answer:

1. Check whether the system has the characteristics of poisoning;

2. Check whether the software/hardware configuration meets the recommended software standards;

3. Confirm whether the current system is independent, that is, it does not provide any external services that consume CPU resources;

4. If it is software with C/S or B/S structure, it is necessary to check whether it is caused by a problem with the connection to the server or a problem with access;

5. When the system is not under any load, check the performance monitor to confirm the application's access to CPU/memory.

3. What are the testing strategies?

Reference answer:

Black box/white box, static/dynamic, manual/automatic, smoke testing, regression testing, public testing (Beta testing strategy)

4. What are the characteristics of the orthogonal table test case design method?

Reference answer:

Cover the most operations with the least experiments, and the design of test cases is very small, which is efficient but complicated;

For basic verification functions and defects caused by secondary integration, it is generally possible to find out; but deeper defects and more complex defects are still powerless;

In a specific environment, it is generally difficult to make an orthogonal table. Mostly, use this method only during system testing.

5. Describe the process of using the bugzilla defect management tool to track software defects (BUG)?

Reference answer:

It is the state transition diagram of Bugzilla.

6. Do you think there are any problems in the process of using bugzilla?

Reference answer:

The interface is unstable;

It's tedious to configure the different parts of it as needed.

In terms of process control, security is not well defined, and it is easy to misuse other people's bugs;

There is no comprehensive scoring index, and it is difficult to confirm the priority of repair.

7. Describe the complete process of test case design?

Reference answer:

Requirements analysis + maintenance of requirements changes;

Deriving test requirements according to requirements;

Design test plan, review test plan;

After the program review is passed, design test cases and then review the test cases;

8. What are the strategies for unit testing?

Reference answer:

Logic coverage, loop coverage, peer review, front desk inspection, code walkthrough, code review, Jingtai data flow analysis

9. What are the three parts of LoadRunner?

Reference answer:

user action design;

Scene design;

test data analysis;

10. What is the process of LoadRunner testing?

Reference answer:

1. Plan load testing

2. Create a virtual user script

3. Create a running scenario

4. Run the test script

5. Surveillance scene

6. Analyzing the test results

Above, it is best to combine a case and introduce it according to the above process.

part3

1. Software life cycle (prdctrm)

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

2. 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, it is necessary to obtain the basis and standard of judgment: according to the requirements specification, product description, prototype drawing, design document, etc., confirm whether the actual result is inconsistent with the plan, and provide a direct basis for confirming the defect;

If there is no documented basis,

1) According to the general characteristics of peer or similar software, it can be explained whether there is any inconsistency, so as to confirm whether it is a defect;

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

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

Make a reasonable argument, explain the reason for your judgment to the test manager, and 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.

3. 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 you need advanced security testing, make sure to obtain the help of a professional security company, outsource testing, or obtain support for compatibility testing,

According to the content of the requirements 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 progress, obtain the resources required for the test in advance, and establish a management system (

For example, requirements changes, risks, configurations, test documentation, defect reports, human resources, etc.).

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

4. 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, and 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. 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 whole 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: problem definition and planning, requirements analysis/review, software design, software coding, testing phase, operation and maintenance six periods, and each period is divided into several stages. Each stage has clear tasks.

Periodic models (typical types):

1) Waterfall model

2) 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 the user all or part of the functions and performance of the software to be developed; the user tests and evaluates the prototype, and gives specific improvement suggestions to enrich and refine the software requirements; developers modify and improve the software accordingly, until the user is satisfied and approved, complete the implementation, testing and maintenance of the software.

3) Iteration model: 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

6. What is software testing? Purpose and principles of software testing

definition:

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

Purpose:

Testing is the execution of a program to find bugs

Software testing is to find code or business logic errors in the program

Software testing is to verify whether the product meets the needs of users

Software testing to improve user experience

Principles of software testing:

Testing should start and intervene as early as possible (requirements analysis stage), all testing should be traced back to user requirements, testing proves that there are defects in the software, it is impossible to perform exhaustive testing, complete testing is impossible, and testing needs to be terminated.

28 principle, 80% of the errors found in the test are likely to originate in 20% of the modules. (Defects are clustered)

A confirmation process is required for the error results (detailed data of the test, screenshots, preconditions, etc.), and a strict test plan is formulated; all documents in the test process are properly kept; programmers try to avoid their own inspection procedures; design test cases should take into account legal input and illegal input

7. 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).

8. 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

9. 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.

Questions to consider when testing user authentication security:

1) Clearly distinguish different user permissions in the system, whether there will be user conflicts in the system, and whether the system will cause confusion due to changes in user permissions

2) Whether the user login password is visible, reproducible, and whether it is possible to log in to the system through an absolute way (copy the link after the user logs in and directly enter the system)

3) Whether all authentication tokens have been deleted after the user exits the system, and whether it is possible to use the back key to enter the system without entering a password

The testing of system network security should consider the following issues:

1) Test whether the protective measures taken are correctly assembled

2) Is the relevant system patched?

3) Simulate Unauthorized ***

4) See if the protection system is strong

5) Use mature network vulnerability checking tools to check system-related vulnerabilities (that is, use the most professional hacking tools to try it out, and now the most commonly used ones are NBSI series and IPhacker IP)

6) Use various security check tools to check system security

7) Use various anti-cheat tools to check the plug-in vulnerabilities of each group of programs in the system

Database security considerations:

1) Whether the system data is confidential (such as for the banking system, this is particularly important, and general websites do not have too high requirements)

2) Integrity of system data (I have just completed the enterprise real-name verification service system, there was data inconsistency

3) Integrity, which hinders the function realization of this system), system

4) Statistical data manageability,

5) Independence of system data,

6) System data can be backed up and restored (whether the data backup is complete, whether it can be restored, and whether the restoration can be completed)

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

Example:

A set of test inputs, execution conditions, various environment settings, and expected results, as well as a specific set of expected results, compiled without implementing the test.

Screenplay:

Test scripts are scripts written for automated testing.

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

11. 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 errors in the program code or evaluating the program code without running the program itself.

Dynamic testing: It is to actually run the program under test, input 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: It 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 without considering its internal structure. When the relationship between the input and output of the program or the function of the program is known, the software specification is used to determine the correctness of the test cases and infer the test results.

White box testing: testing is based on the analysis of the logical structure of the software, which is code-based testing. Testers read program codes or pass

The quality of software is judged by using single-step debugging in development tools. Generally, black-box testing is implemented by project managers in programmer development.

Alpha testing: It is a test conducted by users in the 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 completed by programmers or testers.

Beta testing: A test performed by one or more users of the software in an actual usage environment. The developer is usually not on the test site. Beta testing cannot be done by programmers or testers.

12. 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

13. 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.

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

The testing process will go through four main stages: unit testing, integration testing, system testing, and acceptance testing.

Unit testing: It is the testing work for correctness verification of the smallest unit of software design - program modules or even code segments, usually performed by developers.

Integration test: It 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: It 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 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: Taking the "Requirement Specification" in the requirements stage as the acceptance standard, the test requires simulating the actual user's operating environment. for actual items

The project can be carried out together with the customer, and it is the last system test for the product. 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: suitable for products with clear and stable control structures; high-level interfaces have little change; low-level interfaces are undefined or may be modified frequently; production-port control components have high 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 repetitive and wasteful.

Test strategy for system testing:

Data and database integrity testing; functional testing; user interface testing; performance profiling; load testing; stress 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

15. What work is usually done in each stage of software testing? What are the outcome documents for each phase? What is included?

Unit testing phase:

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 reports and submit defect reports.

Integration testing phase:

Integration testing is based on unit testing, to test whether all the software units meet or realize the corresponding technical indicators and requirements in the process of assembling all software units into modules, subsystems or systems according to the requirements of the outline design specifications. 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, as an element of the entire given computer system, is combined with other system elements such as computer hardware, peripherals, some supporting software, data, and personnel to provide comprehensive functional coverage of the computer system in the actual operating environment. At this stage, test summary and defect report need to be submitted.

16. What is the task of the 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.

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

A bug record should basically include:

bug number;

bug severity level, priority;

The module generated by the bug;

First, there must be a bug summary, explaining the general content of the bug;

The version corresponding to the bug;

A detailed description of the bug, including some screenshots, videos, etc.;

The test environment when the bug occurs, and the generated conditions are the corresponding operation steps;

High quality bug logging:

1. The common UI should be unified and accurate.
The UI of the defect report should be consistent with the UI of the tested software, 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 reflect professionalism.

3. Each defect report includes only one defect
Each defect report includes only one defect, which allows the defect corrector 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 should still be reported, but the report should indicate that it cannot be reproduced and the frequency of the defect.

5. Clearly specify the type of defect
According to the phenomenon of the defect, summarize and judge the type of the defect. For example, functional defects, interface defects, data defects, rationalization suggestions. This is the most common type of defect or defect, and other forms of defect or defect also fall into one of these forms.

6. Clearly indicate defect severity and priority Always clarify the difference between severity and priority. High Severity Likely

7. Description (Description) should be 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 specified test defects in the software defect management database, it is a good practice 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 numerical serial numbers between short lines, use the same font, font size, and line spacing

Automatic digital serial numbers are used between short lines, and the same font, font size, and line spacing are used to ensure that the format of each record is consistent and standardized and professional.

9. Try to record only one operation for each step to ensure conciseness, orderliness, and easy repetition of operation steps.

10. The confirmation steps are complete, accurate and brief

Ensure fast and accurate repetition of defects, "complete" means no omissions, "accurate" means correct steps, and "short" means no redundant steps.

11. Depending on the defect, you can choose whether to perform image capture

In order to visually observe defects or defect phenomena, it is usually necessary to attach the defect or the interface where the defect appears, and attach it in 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 quickly reproduced. 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 for spelling and grammar flaws

Before submitting each defect or defect, check spelling and grammar to ensure that the content is correct and describes the defect 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 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 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.

18. 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 code and implementation inside the program;

has nothing to do with the internal implementation of the software;

From the user's point of view, it is easy to know 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 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 volume; the reusability of automated testing is low.

The advantages of white box testing are:

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 for the program to run, and it is impossible to test all the running paths;

The test is based on the code. It can only test whether the developer is doing it right, but not whether the design is correct or not. Some functional requirements may be missed; when the system is huge, the testing overhead will be very high.

19. 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.

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

20. 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. And it is reasonable to assume that testing the 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 as the input condition of the test in each equivalence class. Better test results can be obtained. Equivalence class division can have two different situations: valid equivalence class and invalid equivalence class .

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 find more errors. 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.

3) Wrong guess 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 that have been found in previous product tests, etc. These are the summaries 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) Causal graph 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. This requires the use of causal diagrams (logic models). The final result of the causal diagram method is the decision table. It is suitable for checking various combinations of program input conditions.

5) Orthogonal table analysis method:

The number of test cases may surge due to the combination of a large number of parameters. At the same time, these test cases do not have obvious gaps in priority, and testers cannot complete such a large number of tests, they can use the orthogonal table to reduce some test cases, so as to achieve the possibility of covering as large a range as possible with as few test cases as possible.

6) Scene analysis method:

It refers to simulating the user's operation steps according to the user scenario. This is similar to the cause-and-effect diagram, but the execution depth and feasibility may be better.

7) State diagram method:

Obtain all states of the system under test through input conditions and system requirements description, obtain output conditions through input conditions and states; obtain 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 the 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.

part4

Discuss six ideas of test case design

There is such an interview question: On a Web test page, there is an input box and a counter (count) button, which is used to count the number of occurrences of the letter a in a text string. Please design a series of test cases to test this Web page.

Experienced testers may ask the interviewer, is the letter a case-sensitive? Only count the a of the English letter? What is the longest input character and what is the minimum input character? Is there any restriction on the type of characters entered, and will characters that do not meet the requirements be automatically cleared?

  所以第一步应该是明确需求,然后我们才开始进行思考如何设计测试用例。

 通常说来,我们考虑一个测试对象的时候至少从以下六方面来考虑:

 1.功能性

 2.兼容性

 3.易用性

 4.可靠性

 5.性能

 6.安全

1.从功能方面考虑:

输入:"  "(思路:什么都不输入)

输入:"null"(思路:特殊值)

输入:"Aa"(思路:输入字符既含大写字符也有小写)

输入:"abc"(思路:以a开头)

输入:"cac"(思路:a在中间)

输入:"aba"(思路:以a开头,以a结尾)

输入:" ba"(思路:以空格开头含a)

输入:"中ba"(思路:以中文或者其他字符开头含a)

输入:"AAaa"(思路:输入字符仅仅只有大写A和小写a)

输入:"全角和半角a"(思路:考虑半角和全角符号)

2.从兼容性方面考虑:

1.各个浏览器 显示是否正确,点击按钮是否有效;

2.浏览器各个版本显示是否正确,点击按钮是否有效;

3.是否支持手机端和平板端。

3.从易用性方面考虑:

1.web界面外观,风格是否合适;

2.文本输入框长度是否合适,是否应该默认提示如何输入;

3.输入错误时提示是否友好;

4.考虑该应用是否支持其他语言。

4.从可靠性和性能方面考虑:

1.输入HTML和JavaScript相关标签字符,计算是否正确,是否会破坏页面;

2.这个应用能否在同一台服务器上运行多个实例,多个用户同时使用是否会有问题;

 3.在大并发下使用,计算速度是否满足要求。

5.从安全性方面考虑:

1.输入的数据是否会被保存,输入字符串可能包含敏感信息;

 2.尝试复制/粘贴字符串;

 3.尝试快速点击多次计算按钮;

4.考虑是否有安全漏洞,点击计算按钮,请求是否会被截取,导致返回失败。

part 5

1. What are the interview questions for financial software testing?

How to test online bank transfer, design a test case.

Answer ideas:

Macroscopically, it can be considered from the quality model (universal formula), and the key point is to test the function, performance and security of the transfer. The design of test cases can use the scenario method as the main method, and first list the basic flow and alternative flow of the transfer. Then design the scene, and finally design the data according to the scene. Specific examples are required during the actual interview.

Check the interface first.

Test the function again,

Verify peer transfers and inter-bank transfers.

Verify the transfer limit.

Verify transfers from illegal accounts (reported lost, frozen, locked accounts).

Then test performance.

What is the process of testing work? What are the defect states? How many ways are there to design test cases?

The actual workflow of the test engineer (take the P2P medium-sized version as an example, one version per month):

The product manager or SR sends the requirement book to development and testing

Take a look at the test first and conduct a demand analysis. The test team leader writes the test plan and assigns test tasks to testers (2 days) (at this time, the development is also conducting demand analysis)

After 2 days, the product manager called the testing and development together again to explain the requirements (or review the requirements). If you have any questions, you can ask them directly. If you find any problems with the requirements, you can also raise them, and the SR will revise them when you go back. (Required explanation time 0.5 days)

After talking about the requirements, the test colleagues have to sort out the test scenarios and write the cases (xmind and Excel will be used), a total of 5 working days. (Development is writing code at this time)

Afterwards, the case review will be conducted. During the review, there are SRs, testing colleagues, and development colleagues. During the review, generally SRs, test team leaders, and development colleagues of the corresponding modules will give some comments. After the review, go back to modify and supplement the case. (0.5 days for case review)

After modification, there are two processing situations:

A second case review is sometimes required for large projects.

For small projects, when the time is tight, the second trial is generally not carried out, but the revised or newly added case should be sent by email for the leader to see, and a copy should be sent to other colleagues. (0.5 days for case review, 0.5 days for case modification, and 0.5 days for case second trial)

After the case review, the test will start. Generally, the test environment has been developed and set up (if you say you can build it yourself, the build process will be summarized by the teacher):

The test of the medium-sized version is generally divided into 2 rounds: the first round: 5 days; the second round: 3 days; the regression test 2 days; (a total of 10 working days).

After the regression test is completed and the online standard is met, it will go online as scheduled, usually at 12 o'clock in the evening on the same day

Defect Status: Flowchart for Defect Management

2. What is the classic BUG found in the project?

Compatibility issues, in the IE browser, the submit order button can be clicked, but in Google, Firefox cannot.

Query the order page, the results filtered according to the conditions are not the desired results, and the values ​​of some fields are not displayed, or are displayed incorrectly. (Because the value obtained from the library table during development is wrong)

After the payment is successful, the order status has not been turned over to a successful transaction. (Because the code does not correctly obtain the status code of the successful payment record in the library table)

Change the payment password, the new password is consistent with the original password, and it has passed, the system has not verified the old and new passwords.

The mobile phone verification code at the time of payment can be used all the time, and the validity period control is not successful.

After the mobile app is disconnected from the network, click again, there is no friendly error page indicating that the network has been disconnected, only undefined is returned

3. How to measure the automatic transfer of fixed deposits upon maturity?

Answer idea: there will definitely be a boundary when it expires, so the boundary value method can be considered in the design. Automatic dumping (First of all, we must figure out what is automatic dumping.)

4. How to test saving money, and what testing method should be used?

Preparation ideas: Saving money should be classified into: current demand, zero deposit and lump sum withdrawal, etc. (under Baidu for specific rules), and then choose the appropriate use case design method according to the business rules of each category. For example, how much is the minimum deposit at one time? The maximum amount that can be deposited at one time, etc.

5. What should you do after you find a bug?

First consult whether the development is a bug, and let him make a preliminary judgment.

If it is not a bug, the reason given by the development is relatively sufficient, and it is true that I have made a mistake, so forget it.

If the development also thinks it is a bug, then directly mention it.

If I doubt the answer of the development, I think it is a bug, and the development insists that it is not a bug. I will consult our team leader or the development team leader and let them judge.

6. If a BUG is found, it has nothing to do with the development itself, but involves concepts and requirements, how to solve it?

Expose the problem to the test team leader and the development team leader, and consult their opinions. The team leaders will then inform the development group manager and project manager, and then everyone will discuss with the product manager to solve the problem. If the requirements need to be changed, they will be changed.

7. In the very urgent process of testing, if you encounter a blocking problem, the corresponding development has no time to solve it. How do you promote the solution of the problem?

First judge the seriousness of the problem, and learn the cause of the problem from the corresponding developer.

Then report to your own test team leader and development team leader, let the team leader know, consult their opinions, and then report the problem to the development team manager for them to coordinate and deal with. Arrange other experienced senior developers to assist this development to solve problems, and then work overtime to complete problem solving and testing.

8. How do you divide the BUG level of functional testing?

Bug severity: L4 and L3 are generally mentioned, and L2 is rarely mentioned unless it affects the process. L1 is a very fatal bug, basically not mentioned.

9. Execute someone else's use case, what to do if you find that the use case is wrong?

First consult the author of the case or ask the test team leader to confirm, and correct the use case if it is indeed wrong.

10. Have you done smoking side? What is smoke testing (theory)?

Smoke test is also called pre-test, which is a test before the formal test, in order to ensure that the main process can go through.

You can answer that there is no smoke test, that is to say, before the test, the development self-test is generally required. After the development self-test (the self-test takes about a day), make sure there are no major problems, and then notify the test to start the test.

11. How long have you been working on the project, and how many use cases have you written? How many people are there in the project?

How long has the project been done: (two answers, it is recommended to choose the first one)

The project was already online when I entered, and it has always existed, and then there are minor updates of the version. For minor revisions, it takes about half a month to make a version, and for medium revisions, it takes about a month to make a version. Every time the version is updated, about 60 cases are written for new function points or modification points (an example of one version per month).

When I entered, I participated in this project from the very beginning (that is, the demand analysis began). The project went from zero to one for about half a year, and the entire project team probably wrote about 900 cases within six months. I wrote about 200 by myself (a total of 5 tests, including the team leader).

PS: If you say that you are a project from zero to participation, then the 6-month period starts with demand analysis. Before the requirements book is written, the product managers have to do a lot of preparatory work, which may take about 3 months.

Then test the actual working time of 6 months:

The first 2 months: At the beginning, there were many loopholes in the requirements book, and there were many requirements reviews, basically once a week. Both development and testing are involved. At this time, development is doing code design, and testing is analyzing requirements, reading reference documents, sorting out test scenarios with xmind, and extracting test points. Development often discusses requirements with product managers, and testing often asks development and product managers about requirements. Everyone has been colliding, step by step to come up with a more perfect logic.

Two months in the middle: after the development and design, coding is carried out, and we test and write cases based on the test scenarios sorted out before for further optimization. During this period, the demand book is basically stable and will not be changed. To change is to refine the requirements, describe the general places in more detail, and make it easier to understand. The general direction of the function points will not be changed. If you have any questions during the development and testing period, you will contact the product manager by email or phone. Tests also often ask development logical questions about function points.

The next 2 months: The implementation of the case work begins, generally divided into two rounds of st testing, the first round of 1 month, the second round of half a month, and regression testing for half a month. The Uat test group started in parallel during the second round of the st test. The UAT test team is in charge of a dedicated person. Generally, the st test team needs to send about one person to support it. The uat test also has the first round (half a month) and the second round (half a month).

How many people are involved in the project: A company often has many projects, and I am only one of the project teams. My P2P project team has about 20 people, 15 for development and 5 for testing. (Everyone regards themselves as outsourcers, working in Party A, also called on-site work)

12. If you are asked to test a 6-month p2p loan product, how should you design the case and name the test points?

(Answer ideas: 1. Test from the perspective of the user. You can test how the user uses it. 2. One person plays multiple roles to test. 3. Come up with more abnormal scenarios.)

The conditions of full and unsatisfactory bids at T+7 when the bidding of loan products ends.

Borrowing products before the bidding end date T+7, the product full bid ahead of time

After the product is established, before the repayment date of each month, check whether the system has sent emails, text messages, and in-site letters to notify the borrower to recharge to the platform account.

On the monthly repayment day, when the borrower recharges for repayment, check how the system handles the situation of sufficient recharge funds, insufficient recharge funds, or no recharge. When the recharge funds are insufficient or there is no recharge, the system should have penalty interest.

In the scenario where the borrower pays off the balance in advance, some products do not support early repayment, and some products can only be repaid in advance after a certain period of time (there is a certain handling fee for early repayment). These are the test points to focus on. (I have to act as a borrower user to operate and pay off the balance in advance, then act as a background administrator to review, and then act as an investor user to check the funds received in the virtual account)

When the borrower repays the funds in the last period, go to the background page to check the status of the loan product, and it should have ended normally. Go to the front page to search again, and there should be no such loan products. (Or to add: go to the database to check the status of this loan product)

13. Is your P2P online? Can I check it? How long did the project take and how long is it expected to be completed?

Answer: Two options:

It's not online yet, so I can't check it. This is a new project, and it's planned to be completed in half a year. However, some problems have not been resolved in the middle, so it has not been completed within the estimated time.

The name of the project you wrote can indeed be found on the Internet, so it is said that it is online and can be found. (The interviewer may not actually check it)

14. How did you measure the real-name authentication? What platform is the data retrieved from?

Real-name authentication interface:

Bank card real-name authentication (call the bank interface, verify the card number, name, ID number, mobile phone number. Need to use the verification code received by the mobile phone)

Identity verification and name authentication (National Citizen ID Card Number Inquiry Service Center, or directly the public security interface)

15. Is real-name authentication required for registration?

Registration does not require real-name authentication: real-name authentication is required when shopping.

16. Do you also test background management for P2P? Where is the personal Sesame credit obtained?

Test background management:

The background is also tested, but I mainly test the front desk. My focus is on the front desk. The background mainly manages the front desk, mainly including loan management and fund management.

Loan Management:

You can check the investment status of the investor, and you can also check the loan products of the borrower, and manage the loan products. Such as approval, repayment reminder of each period, early warning, etc.

Money Management:

Manage and view the user's recharge, and approve the user's withdrawal process.

Sesame Credit Points:

The interface of Alipay is called, Sesame Credit: the interface of Alipay is called (Alipay provides such Sesame Credit service, and it charges about 0.1 yuan for each check)

17. If you want to test the deletion of users in the background, that is, there is a delete button behind the user name, what test cases can you write?

Scenario of deleting a user: Click the delete button, the page will be refreshed automatically, and the user can no longer be queried on this page. Then open another browser, log in the deleted user in the foreground, and the page prompts that the user does not exist.

The scenario of deleting multiple users at the same time: use the check box to test multiple selections, reverse selections, and delete all users. After deletion, the deleted user cannot be queried on this page. Also go to the front desk to log in the deleted user, and the page should prompt that the user does not exist.

18. If JD had a shopping webpage for you, how would you test it? Which major functions are tested?

First conduct a requirement analysis, use xmind to sort out the test points, then write a case, and then review the case to seek opinions from others. Then improve the case and send it out for others to check.

The test point is first the UI aspect: the aesthetics, and the easy-to-operate and understandable aspects are tested.

Then consider his function points, register and log in, add shopping cart, place an order, pay, ship, confirm receipt, and evaluate. There are also binding bank cards when paying, real-name authentication

In terms of performance: opening web pages, confirming orders, response times for payments, etc.

Compatibility: Support various mainstream browsers, ie, 360, Firefox, Google, etc.

19. For the test point of adding a shopping cart, tell me how you want to test "adding a shopping cart"

(The angle of adding, deleting, modifying and checking)

Whether it can be added to the shopping cart, and whether the same product can be added to the shopping cart again.

The upper limit of the number of items in the shopping cart (Taobao limits 100 items)

Whether the shopping cart can remove items normally, and whether the items can be added back after removal.

Whether the quantity of each commodity added can be increased or decreased normally, and the quantity is greater than 0

Exit the shopping cart, check the shopping cart again, and the products are normal.

The items in the shopping cart can be selected, deselected, or double-selected, and the selected items and quantity can be placed normally.

After the product was added to the shopping cart, it has been removed from the shelf. The shopping cart will prompt that this baby has expired.

After the product is added to the shopping cart, the price is reduced, and the shopping cart will have a price reduction reminder.

After adding the item to the shopping cart, the inventory is low.

20. How many rounds of P2P function testing do you usually do?

Medium-sized version (major revision, online once a month): The test is generally divided into 2 rounds: the first round: 5 days; the second round: 3 days; the regression test 2 days; (a total of 10 working days). (22 working days a month, requirements analysis and review, writing test cases, etc. generally take up half of the entire version time, or a few days less)

Small version (minor modification, once every two weeks): 3 days for a round of testing, 2 days for regression testing.

21. Do more than a dozen developers go to the meeting every time you hold a meeting to discuss?

Case review meeting: general development and testing, and product managers will be present. (The development group manager may also go) Requirements review meeting: Project managers, development group managers, product managers, testing, and development will generally come.

If it is our test group meeting, we usually have to come, and all test colleagues report their own experience, report their progress and problems.

22. The database looks up two tables

Answer ideas:

Multi-table query, you will learn later: select column 1, column 2 from table 1, table 2 where table 1. column = table 2. column This format must be able to say it.

23. Are you familiar with database? Do you usually use the database a lot?

Are you familiar with the database: relatively familiar, such as addition, deletion, modification and query of DML statements: (speak out in an orderly way)

1 insert into table name values ​​(value 1, value 2, value 3,...)

2 delete from table name where condition

3 update table name set column name = new value

4 select * from table name

The longest query statement is select * from table name where condition group by column name having grouped condition order by column name.

Do you usually use the database a lot (about 1/4 of the test process is spent checking the database): It’s okay. Generally, if there is a problem, if you encounter a bug, you have to query the database, and it is initially determined as a problem. The development will give us an excel (data dictionary) for database table design, which describes the table name and the fields in the table. I use some unique identifiers of the transaction process as where conditions to query data. After preliminary analysis, the problem is exposed to development. (For example, when Taobao pays, after entering the payment password, the prompt message of successful payment has been returned, and then the order query on the interface is still pending payment. At this time, you need to query the data in the order table, find the order of the transaction you just made, analyze the error, and then expose it to the development)

24. What command does Linux use to view files, and what command does it use to view processes?

answer:

The command to view the content of the file is more less head tail cat tac

View process: ps -ef | grep process number

Commonly used to view log files: less, view

What commands are commonly used to view logs, and what are the main contents to be viewed

To view logs, use the less command or the view command.

Mainly check the running records of the program. For example, if the payment fails, an error message will be printed to the .log log file in the background, and the problem can be preliminarily determined by analyzing the log information. (Supplement: Also query the database, analyze order data, check payment status, etc.)

PS: The log is the text file of .log, which belongs to the text file like .txt. The vi or vim editor is a notepad software and is generally not used to view logs.

25. How to find the error string of the a.log log file?

The first way: (it is recommended to say the first way)

cat a.log | grep error;

The second way:

1 less a.log;

2 /error;

Linux commands you are familiar with

linux:cat,more,less,head -n,tail -n,find ,| grep,ps -ef,tar,gzip,mv,cp,touch,mkdir,vi,top

You can also talk about the commands used in the process of building the environment.

26. What should you do if the leader assigns you overloaded tasks and the leader overestimates your ability?

Answer ideas:

First of all, express your attitude, and you are willing to work overtime to complete the attitude. You can also ask the test colleagues for support and let the team leader coordinate.

Overestimated ability, ability can meet the requirements of leadership through their own efforts at work

All in all, the basic idea is to have a correct attitude.

It is not possible to directly refuse the task. But at the same time, I also expressed that if I can't do it well, please ask the leader to be tolerant.

27. Suppose you are the team leader, and one employee in the team cannot complete the delivered task on time, how do you deal with it?

Answer ideas:

First of all, check whether the task arrangement exceeds the employee's ability.

If not, first express concern about your body and state, and understand the reason for not completing the task in time. If the reason is objective, then work overtime together with the staff to complete the task.

If it is due to attitude, point out the stakes and order it to work overtime.

28. What should you do if there is a problem with your work due to your mistake?

Answer ideas:

First of all, I have to express that similar things have never happened in my past work, because my work attitude is still very correct.

In case of work problems due to your own mistakes, you should first report the problem to the leader and try to minimize the impact of the problem.

29. Given a module test, how can you complete it efficiently in only one week?

Answer: In the limited time, when the requirements are clear, formulate a work plan, subdivide the daily tasks, ensure important functions first, follow up the repair situation, and verify bugs in time. Daily work report is issued to report the progress, and if there is a risk, report to the leader in time.

30. If you are given an app test project with no requirements, how should you test it?

Suggestion: According to the 11 major test points of APP;

permission test

Install, run, uninstall tests

UI testing

function test

Performance Testing

interrupt test

Compatibility testing

Safety test

Regression Testing

Upgrade update test

User Experience Testing

Supplement: Make a test plan based on your own experience, report your progress every day, and issue a daily test report.

If there is a problem in the testing process, report it in time, follow up the bug in time, communicate with the developer more, and clarify the requirements.

21. If you have a disagreement with the developer, how do you deal with it?

Answer ideas:

The big principle is to treat things not people.

In addition, I will first try to accept the other party's opinions and suggestions from the perspective of development, and at the same time control my emotions, and express my opinions when the other party's emotions are controllable.

32. If the use case of your team leader is wrong, but he thinks it is correct, how do you deal with it?

answer:

Usually, the leader will see the problem from a more comprehensive perspective than us, so I first have to make sure that there is really something that the leader's use case cannot consider.

I won't insist that I'm right, but I will express my opinion when it makes sense.

33. You are responsible for both function and performance. How do you do it?

Test the function first to ensure the completion of the function, and then do the performance. After submitting the bug, when the development has not been improved, you can prepare for the performance test. When the working hours are tight, you will take the initiative to work overtime

34. The language used in our company's automated testing is Java. You don't know Java, what should you do?

Answer ideas:

The standard way of thinking about not being able to: either say that you know a little bit of relevant content, or express that you have good learning ability and good learning willingness and attitude.

We know how to learn Java, know object-oriented encapsulation, inheritance, polymorphism, know two ways to create multi-threading (custom subclass inherits Thread class, or custom subclass implements Runable interface), and also know exception Throwable, Exception format, try catch finally. Know List, Set, Map collection. I can quickly learn to do automation with Java.

35. How were the previous projects managed?

Answer ideas:

In our previous projects, ZenTao was used for test requirements management, use case management, and defect management. In addition, the version management tool uses SVN.

36. How many use cases did the previous project need to execute every day?

Answer ideas:

Under normal circumstances, about 20 use cases are generally executed every day. At the beginning of the test, there were many bugs, and it took a lot of time to communicate with the development

Case execution will be slower. The further back the faster it gets.

37. Did you do all regression testing when you did it?

Looking at the time, if there is enough time, all will return. When returning, because I am more skilled in operation, the system basically has no bugs. So the speed of executing the case will be faster.

If time is tight, important modules will be selected for regression testing.

PS: Organize the language yourself.

38. How do you ensure use case coverage? Make sure not to repeat?

Using the idea of ​​the decision table method, first exhaustively enumerate, and then select representatives.

Then, during the case review, the product manager, development team leader, test team leader, and the person in charge of the development of the corresponding module will also check and consult their opinions to ensure that the case is completely covered and there are no redundant cases.

I sorted out a wave of software testing resources released before [click the small card at the end of the article to get it for free], there is no routine to get it!

Basically covers all the core technical points of software testing: testing theory, Linux basics, MySQL basics, Web testing, interface testing, App testing, management tools, Selenium related, performance testing, computer networks, composition principles, data structures and algorithms, logic questions, human resources, technical brain maps, etc... The quality is very high ! ! ! More than enough for technical interviews!

39. How are your cases reviewed?

During the review, there are product managers (SR), test colleagues, and development colleagues. During the review, general product managers (SR), test team leaders, and development colleagues of the corresponding modules will give some comments. After the review, go back to modify and supplement the case.

After modification, there are two processing situations:

A second case review is sometimes required for large projects.

For small projects, when the time is tight, the second trial is generally not carried out, but the revised or newly added case should be sent by email for the leader to see, and a copy should be sent to other colleagues. (0.5 days for case review, 0.5 days for case modification, and 0.5 days for case second trial).

40. What is a view?

The view records a SQL statement, and the data is returned only when the query is made. A table is a concrete table. Views can only query data, and tables can be added, deleted, modified, and queried.

human interview

1. Why switch to testing

Answer ideas:

The university learned about software testing and IT through the Internet, and I liked it more, and then I also chose C language or Java language to learn.

In the summer vacation before my senior year, I trained software testing in Songqin.

2. Is it acceptable to work overtime on a business trip? Is it acceptable to work overtime?

Answer ideas:

Usually, if this question is asked, it is absolutely impossible to say that you don’t accept it directly, you can accept business trips, and you don’t have a boyfriend/girlfriend yet.

It is generally necessary to work overtime when working in IT. I used to do overtime like this, no problem.

From my point of view: I am still young, I hope to improve my ability and accumulate more experience in a short period of time, there is no problem in working overtime.

3. Tell me about your own uniqueness and personality flaws and how you plan to improve?

Answer ideas:

In fact, this question is to answer the advantages and disadvantages.

Character itself is a habit, so you should change your shortcomings by optimizing your behavior habits.

To learn from the role models around you is to learn from the best of others and to be the most perfect self.

4. Have you ever participated in a club at school, held the highest position, and will you be able to coordinate?

answer:

It would be better if there is one, which can reflect one's coordination ability, organizational ability, and communication ability. These are important for work. Talk about one or two specific things, and show your ability through things.

5. Which one do you think you are suitable for, a leader or a follower?

answer:

Leadership is leadership and guidance. The general answer is leadership, because you can lead by example, and technically have a certain ability to guide subordinates.

6. Previous work experience

answer:

In the busy work, it is both fulfilling and fulfilling. Through continuous testing, my communication skills and coordination skills have been improved. At the same time, I have gained industry knowledge and experience, and I deeply feel the importance of team spirit.

8. Why do you want to engage in software testing?

answer:

I like the Internet very much, and I like it. I think this industry is very promising. Jack Ma said that the world has entered the third industrial revolution, which is the information technology revolution. The speed of computer development is very fast, and Internet companies can use just a few years to reach the level that traditional industries took decades to achieve in the past.

9. What was the most successful thing in your past work?

Answer ideas:

The basic principle is to be humble, not to mention the most accomplished things.

If you have to say something, you have gained a lot from a certain thing, no matter what kind of difficulties you have overcome.

10. What is the expected salary during the probationary period and becoming a full-time employee?

Answer ideas:

First of all, it is necessary to say that salary is not the most critical, and then give a floating value in the range of 500 yuan

The minimum salary for fresh graduates in first-tier cities is 6,000, 7,000 for one year of graduation, 8,000 for two years of graduation, and more than 9,000 for three years of graduation. What the editor gives is the minimum standard. You can adjust it according to your own learning situation. For example, for a student who has studied well, it is no problem to raise 10,000 with two years of work experience.

If you are asked how much your last company paid, just say a value that is 500 yuan less than your current expected salary.

Summarize

Finally, I wish everyone can find the job they want, work happily, live happily, have a broad world, and make great achievements. I also sorted out a wave of software testing documents released before [click the small card at the end of the article to get it for free] , no routine to get it!

The entire document has a total of 308 pages, and it is definitely unrealistic to show you all. In order not to affect your reading experience, only part of the content is shown. I hope you will understand it. I hope it can help you review before the interview and find a good job, and save everyone time searching for information on the Internet to learn!

 

Guess you like

Origin blog.csdn.net/HUA1211/article/details/131811155