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.