Recently, after several twists and turns, I got this new open source Study note from an Ali bigshot. I hope you can find the answer suitable for yourself from this study manual when you encounter problems in learning. Masters can also review the basics (advanced knowledge learning)

If you feel that some knowledge points are just understanding, but ask and can not say, it is suggested to make up for the interview. My high school math teacher’s mantra was, “If you don’t understand something, you don’t understand it.”

Previous interview questions collection answers link below:

2021 test development of interview questions and answers (including test base | | automation testing interfaces…). On page 289

Let’s take a look at the ali Test development Learning Manual. Need friends can pay attention to programmers a public number for!

Basic knowledge of software testing

1. Definition of BUG

Software bugs are problems in software (including programs and documentation) that do not meet user requirements. Common software bugs fall into three categories: functionality not implemented at all; Basically realized the user demand function; Implements functions that users do not need.

2. Purpose of software testing

  • Finding bugs in a program: Finding bugs in a program rather than proving that the program is error-free. A good test case is one that finds errors that have yet to be discovered. A successful test finds errors that have not been discovered so far. At first we thought that testing was just to prove that our program was error-free, but that was wrong. Because the bug will appear because of different time, different conditions. We can never prove that our program is infallible.
  • Prepare for feedback: Provide feedback to developers or software project managers and prepare information for risk assessment

3. Test cases

Refers to a set of detailed test plan designed before test execution, including test environment, test steps, test data and its results! Test case = input + Output + test environment. The test case has two templates, Word and Excel, with the former suitable for performance testing and the latter for functional testing.

4. Software test object

All documents, source programs, target programs and data in the process of program development

5. Software lifecycle

  • Feasibility Studies and Plans (Project approval)
  • Demand analysis
  • Summary Design (Test Plan)
  • Detailed Design (Test plan)
  • Implementation (development phase; Include unit tests)
  • Assembly testing (Integration testing)
  • Validation tests (system tests, acceptance regression tests)
  • Use and maintenance (online use and daily update and maintenance)

6. Methods of software testing

  • Use the test question method
  • Run parallel processing checks with the old and new systems
  • Software test automation tool testing

7. What are the tasks in the software testing stage

  • Develop test outline (Test plan)
  • Make test data (test plan)
  • Unit testing (program testing, typically by developers)
  • A functional test
  • The performance test
  • Integration testing (subsystem testing)
  • The system test
  • The acceptance test
  • Test report and submit system operation and maintenance user manual to the next stage

8. Principles of testing

  • Test early and test often
  • A test case consists of input data and corresponding output results, and should include both reasonable and unreasonable input conditions
  • Developers should avoid checking their own programs
  • When designing test cases, include both reasonable and unreasonable input conditions
  • Pay full attention to clustering in testing, strictly implement the test plan, and eliminate the randomness of testing
  • Do a thorough review of each test result
  • Properly document test plans, scenarios, use cases, BUG logs, and final analysis reports

9. Flow chart of software testing work

10. What is V model?

11, software engineering content

12. The difference between testing and debugging

13. The concept of software defects

14. Reasons for introducing defects

The difference between software testing and software quality

16. Test data documents

Automated testing

1. Advantages of automated testing

  • More tests can be performed more frequently, making certain test tasks more efficient
  • Ability to perform tests that are difficult or impossible to do manually
  • Task automation enables testers to invest more energy in designing test cases, improving test accuracy and staff motivation
  • With consistent and repeatable characteristics, more objective, improve software trust, there are still some limitations
  • Cannot replace manual testing, cannot automate all tests (such as when tests are performed only occasionally, or requirements change frequently, are unstable, or require a lot of manual participation)
  • Automated testing tools can only execute commands, while manual testing can determine whether the input of the test is correct, improve the test, and handle unexpected events
  • It is highly dependent on quality, so it is meaningful to implement automation on the premise of ensuring quality
  • Automated testing needs to be mature and stable after the whole test system, the work efficiency will be improved with the increase of test execution times
  • Automated testing can be more expensive than manual testing

2. Automated testing technology

  • Record/Playback (tool dependent)
  • Script technology
  • Data Driven automated testing
  • Keyword driven automated testing
  • Business drivers

3. Level of automated testing

  • Capture and playback
  • Capture, program, and playback
  • Programming and playback
  • Data-driven testing
  • Test automation using action words

4. Key points of automated testing

  • Build test environment and test scenario
  • The test case
  • Validation of test results
  • Automate the process and execution of tests

5. What automated testing can’t do and its disadvantages

6. When does automated testing come in

7, automated testing process

8. What is automated testing

Automate test execution

10. Implementation principle of automated test

11. What kind of project is suitable for automated testing

12. The cause of element location failure

13. How does Selenium work?

14. What techniques did the test script use?

15. Three levels of automated testing

16. Preparation of automated test environment

17. Automated testing framework

The performance test

1. Factors affecting software performance

2. Performance test main deliverables

3. Difficulties in performance testing

4. How should performance testing be done?

5. What is TPS?

6. The top three metrics for performance testing

7. Common status codes of websites

8. Working principle of JMeter

9. Performance test tool architecture

10. Common metrics in performance testing

Analysis and tuning in performance testing

12, performance test project landing thinking 6 steps

13. Performance testing errors

Understand the performance test process

15. Writing performance test reports

LoadRuner and performance testing

17. How to parameterize Loadrunner?

The difference between functional testing and performance testing

How to use JMeter to achieve 5000 concurrent users and perform performance tests

20. Monitoring commands commonly used in performance tests

Web security Testing

1. Features of Web testing

2. Test scope

3. SQL injection test

Xss attacks

DOS attack

6. Session and Cookie

7. File upload vulnerability

8, SQL injection methods and measures

9. Large class checkpoints

10. Directory traversal

11. URL redirection

12. Security log test

Scripting languages

Unit testing

1. Use of Junit

2. Objective of unit testing

3. Content of unit tests

4. Mockito usage scenarios

5. Use Junit in Eclipse

6. Unit test annotation

7. Some advanced features of Junit

8. Simple practice of unit testing

9. Use case design

10. Explanation of relevant notes

11, assertions

The interface test

1. Core test point of interface test

2. Interface documentation

3. Interface composition

4. Process of interface automation test

5. Common interface types

6. Advantages of interface testing over UI testing

7. Four steps of interface test development

8. Interface test case reference template

9. Design ideas of interface test cases

10. How to test interfaces that depend on login status

11. How to deal with data dependence of upstream and downstream interfaces during manual or automatic interface test

12. How to test interfaces that rely on third-party data

13. What problems can be found by interface testing

14. Josn and XML

15. Basic network knowledge of interface testing (HTTP protocol and status code, Cookie, session and Token mechanism, the difference between GET request and POST request, etc.)

Python Automated testing

1. Basic Python syntax

2. Advantages of automated testing

3. What automated testing can’t do and its disadvantages

4, appropriate introduction of automation

5. Automate the testing process

6. Test script design and development

7, Test framework UnitTest and PyTest difference

Pytest installation and deployment

9. Layered automated testing

10. Common pitfalls of automated testing

11. Common modules for script development

Continuous integration

13. Use Git

Selenium environment deployment

Selenium location element operation

16. Use of Xpath and CSS positioning

17, WebDriver API

18. What is PO mode and why use it

19. How do you handle Ajax controls using Selenium

20. How Appium works

21. Use of ADB tools

22. Build PO model from 0 to 1

Automated test frameworks and common libraries

APPUI test

1. Differences between APP testing and Web testing

2. App login test

3. Reasons for flash backout of APP

4. Common ADB commands

5. Activity lifecycle

6. Differences between Android and ios testing

7. Principle of Appium

8, UI automation test bugs

9. Element positioning

10. Scripting

Linux Operations

1. Process status in Linux

2. Commands to manipulate files and directories

3. Automatic deployment of Shell scripts

4. Set up the test environment using Linux commands

5, view disk and memory space command

6. Log file analysis

The MySQL database

1. Database installation and deployment

2. Three ways to create an index

3. Differences between B trees and B+ trees

What are database transactions

5. What are the usage scenarios of views? Advantages of views

6. SQL lifecycle

7, basic add, delete, change and check statements

8. Use triggers carefully

9, MySQL attempts to distinguish and connect with tables

The test case

1. Why write test cases

2. What are the main contents of test cases

3. What is needed to write test cases

4. Precautions for designing test cases

5. Use case management tools

6. Use case management process

7. Test case content

8. Key to test case design

Software Testing classification

1. By test phase

2. Divided by test technology

3. The object to be tested is divided

4. Divide according to different test means

5. Divide the test by content

6. Other tests

conclusion

Learning is a lifelong thing. After learning for a period of time, the best way to check the learning effect is to summarize it by yourself. For example, WHEN I study, I will make notes by myself, and then summarize by myself. The notes I make can also facilitate the follow-up review, and they are all my own understanding.