Self-study software testing, to what extent can I start looking for a job? Self-study for 1 month to find Offer Cheats

First of all, let me talk about the purpose of writing this article. During the recent enrollment process, I found that some students wanted to learn the basics of software testing for a short time because of their own circumstances. When they reached the level of employment, they immediately looked for a job, and then studied while working.

This situation is understandable, and I believe that many students who have not signed up for CTI software testing training also have the same needs. So we decided to write this article, hoping to help more students who are eager to change careers through this article, but at the same time hope to start working immediately. The content of the whole article is very detailed, and Xiaobai, a novice who has changed his career with zero foundation, can understand it at a glance.

There are two other topics related to this article, namely:

" The second stage: learning which testing techniques can immediately jump jobs and increase salary "
" The third stage: thoroughly mastering which testing techniques can become a testing master "

These two parts will be published under this account in the future, and students in need can view them.

1. Theoretical basis of software testing

First of all, you must master the theoretical basics of software testing, such as:

  • Definition of software testing : Software testing is to review all defects and bugs in the project through a series of manual or automated means
  • The principles of software testing : the testing principles that software testing positions need to follow, and some industry common sense of testing
  • The process of software testing : understand the whole process and steps of systematic testing, know what to do in the first step of testing, and what to do next
  • Types of software testing : understand several testing methods and meanings of functional testing and non-functional testing (white box testing, black box testing, unit testing, regression testing, smoke testing, integration testing, performance testing, etc.)

2. Test cases

  • Definition of test cases : Software test cases can be understood as examples for testing. For example, to test the use case of the login system, prepare multiple combinations of user names and passwords to test whether these combinations can log in to the system:
serial number type test steps Input data Desired result
01 login test Enter username + password and click the "Login" button Username: niligirl
Password: 123456
Prompt login successful
02 login test Enter username + password and click the "Login" button Username: I am aaa
Password: 123456
Prompt user name error, please re-enter
03 login test Enter username + password and click the "Login" button Username: niligirl
Password: 111111
Prompt password error, please re-enter or retrieve password
04 login test Enter username + password and click the "Login" button Username:
Password: 123456
Prompt that the user name cannot be empty, please enter the user name
05 login test Enter username + password and click the "Login" button Username: niligirl
Password:
The prompt password cannot be empty, please enter the password
  • Elements that a test case should contain : A standard test case should contain, 编号、测试的模块、当前用例标题、测试的类型、测试输入、输出结果、最终测试结果etc. Here is a small example of a test case:
function points enter Imagine output actual output Test Results
Add items to cart 1. Log in to the system
2. Visit a product detail page 3. Select a store with goods 4. Add the product to the shopping cart 5. Go to the shopping cart to check whether the addition is successful
Correctly add in-stock items to the shopping cart Consistent with the expected output pass
Add multiple items to cart 1. Repeat the above steps to add multiple products
2. Add the same product twice 3. Add products from different stores to the shopping cart 4. Go to the shopping cart to check the added results
1. The shopping cart should display the products under each store according to the store.
2. The same product is added twice, and the quantity is displayed as 2.
Consistent with the expected output pass
Operate the items in the shopping cart 1. Enter the shopping cart
2. Select a product, click the + and - buttons next to "Quantity" to check whether the product quantity has been changed correctly 3. Select a product, click the "Delete" button to check whether the product has been deleted correctly
1. Correctly display the result of increasing or decreasing the quantity of the product
2. Correctly delete the specified product from the shopping cart
Consistent with the expected output pass
  • Test case design methods : learn the most commonly used software test case design methods (equivalence classes, orthogonal tables, causal diagrams, boundary values, scenario analysis, etc.). Learn the differences, characteristics and usage scenarios of different test case design methods.

3. Bug management

  • Master the concept of bugs : as a qualified software test engineer, the understanding of bugs is definitely not limited to the surface defects of the software, we also need to understand what is a bug, the level of the bug, the priority of solving the bug, etc. for different projects .
  • The concept of defect management : what is defect management? Defect management can be understood as a unified management of the bugs we tested through systematic tools, including the bug level, the specific situation of the bug, the progress of the bug repair, and so on. You can also understand it as a mind map-like log management. Of course, defect management is definitely more comprehensive and complex than log management.
  • Proficient in 2~3 kinds of BUG management tools : Bugzilla (open source), Zen Tao (open source), Jira (commercial paid) are recommended. Most companies use more of these three types of tools. For us to find some basic testing work in the early stage, it is enough to be proficient in the use of these three types of defect management tools!

4. Computer related knowledge

  • Basic computer knowledge : Basic computer knowledge is a necessary knowledge point for us to engage in IT-related work. As a beginner in software testing, you don't need to have a deep grasp of the basics of computers. But at least you need to know the general differences between different computer systems, such as Win, Mac, Linux and so on. You must know the most critical components of a computer (CPU, memory stick, motherboard, graphics card, driver, etc.), and you must also be able to use office software (Word, Excel, etc.). I often meet many students, even Word I don't understand basic typesetting and the basic production of Excel tables. Although these contents may not be asked in the interview, at least we must understand that we can't be ignorant of the basic knowledge of computers and office software as soon as we enter the job!
  • Linux system : As a beginner in software testing, the Linux system does not require us to master it deeply. But you must understand the installation of the virtual machine, the installation method and process of the Linux system in the virtual machine, and the common commands of Linux (software installation, file management form, file copy+move+paste, user permissions and other commands, memorize them by rote) can)
  • Mysql database : Database related knowledge also needs to be understood. Learn the most basic database knowledge, the use of the database management tool Navicat, the structure of the database, and the common addition, deletion, modification and query commands of the database

 

5. Interface test

  • Definition of interface test :

Before understanding interface testing, you must first understand what an interface is. We know that the system is divided into front-end and back-end, such as a website. The visual style of the front-end interface of the website is fixed, but the content displayed on the interface can be changed in real time. We update articles, products, data, etc. in the background of the website, and the front desk will display the changed data accordingly. Then these data changes are realized by calling the corresponding data interface of the back end by the front end.

Another example is that an enterprise develops a project, and one part of this project calls the weather data of the National Weather Center. To achieve changes in the weather information of the National Weather Center, the weather information displayed in our project will also change. This needs to be realized by calling the Api interface opened by the National Weather Center in our project. The National Weather Center shows that it will be sunny tomorrow, and then transmits a data "tomorrow will be sunny" to us through the interface. This is the interface

After understanding the definition of the interface, then you can understand what interface testing is. Interface testing is to test whether the interface we call can transmit data normally, whether the data transmitted by the interface is wrong, whether the front end can normally identify the data transmitted by the interface, etc.

  • Interface-related knowledge points :

Repuest request, response response, HTTP/HTTPS protocol, server status code, query parameters, etc.

  • Tools related to interface testing :

As a junior software testing engineer, we must be proficient in the use of the following two tools

-- fiddler : fiddler is a packet capture tool, which can also be understood as a network protocol Http proxy server. We don't need to understand its underlying principles for the time being, we just need to learn how to use fiddler to capture packets, what data to capture, how to correctly analyze the data captured by fiddler, etc.;

-- Postman : Postman is a commercial interface testing tool with free and paid versions. Postman can provide a powerful Api interface and HTTP debugging function. Postman can send very comprehensive HTTP requests, which is suitable for various types of interface tests. We just need to learn how to use this tool and how to use it to test the interface.

6. Simple project ability: do a project

As a beginner, if we want to successfully find a software testing job, we are not limited to the above knowledge points, we also need to have some practical experience in software testing projects. Although the software testing knowledge points learned above are simple, most of the content is still on "paper". If you do not pass some basic software testing project actual combat, then many actual processes, steps, and operating points related to testing may even It is the solution to various problems that will be encountered during the test, and we have no way of accessing it.

Without actual project experience, it means that we only know what these knowledge points are, but we don't know how to use them. This kind of "theoretical" basis can be easily identified by the interviewer during the interview process of software testing.

Finally: If you don’t want to experience the feeling of not being able to find information when learning, no one answering questions, and giving up after persisting for a few days, here I will share with you some learning resources for automated testing, hoping to give you some guidance on the way forward. Come to help, friends can get it for free if they need it 【保证100%免费】

Collection of software testing interview questions

Our advanced study of automated testing must be to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Ali, Tencent, and Byte, and some Byte bosses have given authoritative answers. After completing this set of interview materials, I believe everyone can find a satisfactory job.

How to get the video file:

Guess you like

Origin blog.csdn.net/m0_75277660/article/details/130657395