Thank you for inviting me.

Like everyone else, FUNCTIONAL testing is the first thing I came into contact with. At the beginning, I came into contact with pure functional interface testing. With my working years, I came into contact with some commonly used testing tools, such as packet capture, database, Linux, etc.

I majored in computer science in college and have a certain programming foundation. My career in software testing started like most testers, doing software functional testing at an e-commerce company.

In the ten years of testing experience, I see too many people who want to improve testing technology and there is no clear direction, profoundly realized testers pain points of technology, as well as the role of testing in the treatment and status of the Internet companies than other jobs, even will still have a lot of people will think the test can be replaced at any time in the company, dispensable.

Have a little comprehension to function test to test development, share to everybody, hope can produce useful value.

Combined with all kinds of online information consultation summary, I will learn the route directly!

The above is just a description of a testing career path that is heavily coded. Testing areas include server-side testing, client-side testing, security testing, performance testing, interface testing, automation testing, penetration testing, and test development. So, if you’re good at test development, other aspects of testing shouldn’t be too hard for you.

Software testing theory knowledge, this part includes the basic theory and method of software testing. Such as software life cycle, test case writing method, software testing principles. Software test management related technology, software review at all stages, software test plan preparation, software test process management, software acceptance, software test the whole process of some documents and specifications, etc.

For language Basics, you can get started with Java or Python. Or other programming languages, this part, in my official account have a beginner’s tutorial. Depending on whether Python or Java is right for you, I personally recommend getting started with Python and then learning Java. Beginner learning ah, serious learning a month is enough, the second language, a week can be introduced. Basically a lot of ideas and grammar are the same.

Manual turn automatic, this is a painful process, some people see language foundation every day, do not know how to practice, every day can not enter the door. It is recommended that after you learn a language, you find something to practice and get familiar with the basics of the language. Learning Web automation testing in conjunction with Selenium is recommended. Scripting helps you improve your understanding and use of the basics of the language. The fun you get from practicing automated scripts will help increase your interest in learning.

Automated scripting, after the manual to automated process, requires a lot of practice. If Selenium Automated scripting is used, you will need to complete at least 100 automated test cases, and you will need to be proficient with Seleinum. Write automated test cases quickly.

Understand and touch frameworks. Frameworks are only automated testing frameworks, not development frameworks. Continue to delve into Selenium and some of the automation testing frameworks. For example, what is a framework, what problems a framework solves, and what are the components of a framework? This includes unit testing frameworks, Junit or testNG in Java, and UnitTest in Python.

Design simple testing frameworks, which are also available, such as Python+Selenium from scratch to design automated testing frameworks. Learn to design a FRAMEWORK for POM design ideas.

Common design framework design, before we have the idea of POM design framework, next we will study data driven framework, keyword driven key, mixed testing framework, and behavior test driven framework.

Linux and database, needless to say, automated testing to a certain depth, also need to use code to connect to the database to test, Linux and shell scripts, basically the test environment will also touch. Common Linux and shell scripts are essential for automated deployment and maintenance. For this section, see the Introduction to Linux and Shell Scripting series.

Version control and continuous integration. Some people have been exposed to version control software in their company, such as SVN and Git. Choose a version management software that is used in your company and learn it. Continuous integration, this is a very hot topic, see continuous integration will think of Jenkins, need to install and simple configuration of Jenkins, how to hang a job on it, etc

The Web front end, put here, is a preparation for the future of Web development learning. In the previous automated tests, we touched on a little bit of the front end knowledge. We have already written a javascript tutorial for this part, and then we will write a tutorial for HTML and XHTML and XML and CSS.

Write small programs, and if you choose Python, you can try crawlers. Java can actually write crawlers.

Master a programming language completely, this can be combined with writing small programs to learn and practice. If you choose Python, you can learn the Django framework to develop a Web or blog. If it’s Java, you’ll need to learn how to get started with Web development. Try to understand the three Java Web frameworks, with the SSH framework being a priority.

However, there is a common problem, because most enterprises are agile development mode, easy to fall into the rapid iteration of version,

So that I have no time and energy to learn some advanced and mainstream testing technology, such as some programming language, automatic testing tools, testing framework building, testing platform development

Even if you squeeze time to force yourself to study, you don’t know where to start. Those fragmented things can only make you understand, and they are difficult to digest.

As you form your own output and use your own ideas and techniques for projects, you need to go back to that knowledge framework and learn from it

Do not fragment information learning, that is not learning, to have decision-making learning, systematic learning, learning how to solve problems.

Road to simple, knowledge and action

I wish you and I meet, both gain! **