Ordinary 2 books, I have been to Ali outsourcing, and now I am a senior test engineer with an annual salary of 40W+, my two-year career change experience...

I am a mechanical graduate of an ordinary second-year university. I graduated in 2014 and changed careers in 2016. I have been doing software testing in the IT industry for more than 3 years. My position is a senior software testing engineer. I coordinate Shanghai...

I think now I have a little qualification to talk about the topic of career change; I hope that before you decide to change careers, you will first find out whether the career change is your passion or impulse;

If job-hopping is to find another good opportunity, then in most cases, changing careers means starting from scratch, which is very risky. That's why there is an old saying, "It takes half a year to change jobs, and three years to change careers." Although it is absolutely correct, it does make sense. In this case, changing careers may be the least bad choice compared to continuing to die. Therefore, before you consider changing careers, you might as well spend a little more time actively and comprehensively understanding and screening the industries you are interested in.

It was an opportunity + luck for me to change careers at that time. Why do I say that, I graduated from a mechanical engineering degree, and I knew that there was no good job after graduation. Basically, it was sales in the machinery industry, or technical drawing, or going to the first and second lines of the factory, but as an undergraduate, three None of them think about it. Some people will say that it’s good to do mechanical technical drawing, but otherwise, one is that I didn’t learn any technology at school. I am a good player in League of Legends, haha.

career change experience

Later, I worked in sales in Shanghai for more than a year, and the monthly average was about 67,000. I shared a small single room of 1,500 with my colleagues. People who spend money are suitable for me. I will think about how I can survive in Shanghai. If I continue like this, I will definitely have to fail in the end and go back to my hometown in despair. But what can I do when I go back to my hometown? ? ?

Later, luck and opportunity came. At that time, I decided to find another way out, but I didn’t know what to do. There happened to be a customer, and the relationship was maintained. He was in IT. He knew my thoughts and introduced me. He knew an IT training institution to study.

I can now sum it up in one sentence: "choice is greater than effort".

My learning process at that time was study + employment, full-time study, about three months, because I was a bachelor, my age and education were suitable, and I studied well, and the employment of the institution there was also very responsible, so At that time, the monthly salary of employment was exactly 1w, which was already very satisfying! Now it seems that compared with other institutions, the time is very short. It seems that many institutions take 5 to 6 months to complete their studies and get a job. In this way, I can earn back my tuition fees after working for a few months. Other institutions seem to be still I haven't graduated yet, and although I don't know their employment salary, my income is definitely not low.

Now, more than three years after changing careers, the increase in income also requires continuous learning of industry technologies. It is impossible for those who think about changing careers to earn high salaries for a lifetime, especially in the IT technology industry. then retreat.

During my career change process, I can summarize a few suggestions: How did you change careers? Is it easy to change careers? Everything is done beforehand, and if you don’t hesitate, it will be abandoned. If you don’t prepare in advance, even if you change careers in the end, your life will not change much. Changing careers is not an easy process, and the process of skill accumulation and learning after changing careers is also not easy. Changing careers is just the beginning. After a successful career change, you still need to do a lot of accumulation to get what you want. If you want to be opportunistic, then it is recommended not to change careers.

sincerely recommend

Therefore, as someone who has experienced it, if you want to change careers, my suggestions are: you must think about changing careers yourself, and don’t change careers half-heartedly. If you know someone who is reliable, or if you have an in-depth understanding of the employment situation of the organization, especially how to ensure employment, don’t listen to the salesman’s bragging. Their evaluation is the most authentic. Because many organizations do a lot of advertising, but the employment is very bad. After spending the same money for half a year, the final employment salary is very low or there is no employment at all. The shop is bullying customers. You can’t deal with him. In the end, you will lose a lot money + time! No one can afford this loss.

As a tester, I would like to share some of my generalizations and conclusions about technology over the years, and share my notes on the skills that an advanced automated tester needs to master. I hope it can help those who are interested in technology. Friends all the way to the end!

1. Basic theoretical knowledge of software testing:

The theoretical knowledge of software testing is the theoretical basis and support for carrying out testing work, and it is a skill that must be mastered in a very important stage of testing.

Software quality model: the software testing process guarantees the quality of software, and from what aspects can we start thinking from the quality model

Test classification: The software testing process can be classified according to different angles, from basic testing to advanced testing

Development process: Tell testers a complete life cycle of software, the process of software from scratch to death

Testing process: master and guide testers how to carry out testing work in actual projects. This requires testers to have a thorough understanding of common mainstream testing processes. Encounter different software projects, know where to test software defects most efficiently

Test plan and scheme: how to plan and carry out test activities in the project to ensure that the test activities are carried out in an orderly manner

Design use case method: some test case design methods that must be mastered in the black box testing phase. For example, the design method of black-box test cases, test case elements, etc.

Software Defects: Defects should be identified and reported during test execution

Defect management: After submitting a defect, how to assist the development to deal with the problem of verifying the submission in actual work. For example: bug level priority classification, bug description, bug life cycle, use of defect management tools, such as Zen Tao, etc.

Test report: Review the test process and confirm the results, and generate a systematic professional software test evaluation report.

2. Software testing skills - Linux system

The linux system is the main server operating system, and it is also one of the basic technologies that most personnel engaged in IT positions must possess.

Basic knowledge of linux system: multi-user, multi-tasking, release version, etc.

Common linux operation commands: log viewing, file compression, decompression, user management, file permissions, etc.

Can deploy and configure basic application jdk, mysql, tomcat

docker installation and use

Write a basic shell RAD script

Remote terminal tools use: shell, xftps, etc.

3. Basic technology of software testing - Sql database

As a necessary application system for software systems, the database often needs to operate the database in the process of interface testing, performance testing, etc., to verify the correctness and integrity of the data, all of which are inseparable from the operation of adding, deleting, modifying and checking the database. During the project deployment stage, the database is still Need to cooperate with project deployment. Database support is required in performance testing and interface automation testing.

Basic concepts of database

Relational Database

MYSQL basic addition and modification query statement, stored procedure

MYSQL complex query, multi-table query

MYSQL index and transaction related concepts

Use of database client tools: such as Navicat

4. Software testing skills - programming language

Recommend friends who have no programming foundation to learn Python language

The learning content of Python language includes the following knowledge points:

Python basics: Python language features, operating environment, basic grammar, code style, sample programs

data structure:

Basic data structures: numbers, strings, type judgment, type conversion, slicing, string formatting, numerical operations, positional parameters and keyword parameters;

Composite data structures: lists, tuples, ranges, dictionaries, sets, unhashable objects, unpacking, memory data structure addresses, immutable data

Program control: sequence structure, loop structure, judgment structure, exception handling, logical operators

Functions: Define functions, function parameters, return values, variable scope, anonymous functions, commonly used built-in functions

Modules and libraries: modules and packages, import keywords, common standard libraries, common third-party libraries, package management tool pip

Object-oriented: the origin and advantages of object-oriented, the connection between object-oriented characteristic classes and objects, and the special methods of objects

Logging: baseConfig, file logs, mail logs, custom formats, built-in placeholders, level filtering, level propagation, configuration files

Testing framework: unitest, pytest, etc.

Concurrent programming: multi-process, multi-thread, coroutine, thread pool, synchronization control, thread communication, distributed, monkey patch, async syntax, generator

Network programming: basics of socket programming, TCP server and client, parallel request processing, HTTP server and client

5. Advanced software testing automation - interface testing

The essence of interface testing is also a kind of functional testing. Through scripts or tools, the simulated client calls the server interface. Because it is tested from the interface layer, problems can be found earlier, thereby improving test efficiency and reducing repair costs.

http/httpst protocol learning

Common request method learning: GET, POST

cookie and session learning

Basic concepts of interfaces

Understanding of interface documents

Interface test case writing

Use of interface testing tools: postman, Jmeter, SoapUl

6. Advanced software testing automation - performance testing

The technical requirements of performance testing are very high, not only a deep understanding of performance testing indicators, test classification, and test design is required. You also need to learn about system business and architecture, so that you can better design performance scenarios.

Basic concepts of performance: meaning of performance testing, understanding of common performance indicators, classification of performance testing

Performance testing process: performance requirements analysis, performance scenario design, test script writing, test execution resource monitoring, performance tuning, regression testing

Use of Jmeter and roadrunner

Performance test report output

7. Advanced software testing automation - app automation

More and more projects and systems provide services through the mobile terminal, and the software quality of the mobile terminal is becoming more and more important. App automated testing has become an important part of automated testing. With the help of Appium, there are many similarities between App automation testing and Web automation testing, but as a test engineer, you still need to master the tools and features of mobile applications.

Appium mobile test environment construction: Appium Server Appium and Desktop, Android operating environment construction, emulator installation and connection, real device debugging mode, adb, weditor, - - UiAutomator22, Monkey

Appium element positioning: native application element positioning, pure web application element positioning, hybrid application element positioning

Appium element interaction: waiting for element loading, basic properties and methods of elements, sliding, dragging, zooming operations, drop-down selection operations, toast message processing, common control analysis, common layout analysis

Package test framework: integrate Appium, adb and other tools, pre-defined exception handling, record Appium logs, screenshots, create a multi-purpose test framework

8. Advanced software testing automation - continuous integration and continuous testing

Continuous integration and continuous testing is a process of building, testing a product, and fixing bugs in iterations. It helps teams find bugs early in the development phase, when bugs are usually less complex and easier to fix. Through continuous integration and continuous testing, you can minimize the risk of bugs earlier and speed up the delivery of better quality software.

Version control Git: background introduction, environment deployment, workspace, staging area and submission area, branch creation and merging, conflict resolution, labels, config and aliases, local warehouse and remote warehouse, GitHub and code cloud

Continuous integration of Jenkins: background introduction, environment deployment, file structure, remote warehouse and private server, ja package dependency, plug-in management

Container Docker: Understand Dockers images, warehouses, containers, Docker Engine and architecture diagrams, network settings, data persistence

Don’t study alone. It’s better to be in a group to keep warm and grow together. The effect of mass effect is very powerful. If you study together and check in together, you will be more motivated to learn and persevere.

Friends who like software testing, if my blog is helpful to you, if you like my blog content, please "like", "comment" and "favorite" with one click!

 END meager strength

Finally, I would like to thank everyone who has read my article carefully. Seeing the fans’ growth and attention all the way, there is always a need for reciprocity. Although it is not a very valuable thing, you can take it away if you need it:

These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can help you too!

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

Software testing interview applet

The software test question bank maxed out by millions of people! ! ! Who is who knows! ! ! The most comprehensive quiz mini program on the whole network, you can use your mobile phone to do the quizzes, on the subway or on the bus, roll it up!

The following interview question sections are covered:

1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux

6. web, app, interface automation, 7. performance testing, 8. programming basics, 9. hr interview questions, 10. open test questions, 11. security testing, 12. computer basics

method of obtaining:

Guess you like

Origin blog.csdn.net/jiangjunsss/article/details/130485363