Ordinary university, many years of functional testing, 3 years to enter the Xiaomi test development, how to effectively learn software testing? [8 thousand words long text]

Insert picture description here

Bumpy 2020

It is easy to learn software testing, but difficult to find a job!

2020 is a bumpy year. For each of us, living healthy is more important than anything else.

Status 1-Epidemic & layoffs coming

➢ Reason:

➢The epidemic affects the global economy and affects most industries

➢ The poor forecast of the general environment causes companies to tighten their belts (China-US trade war)

➢ Tightening investment environment affects a large number of startups

➢Corporate labor costs are rising

➢Supply exceeds demand

Like five years ago, our software testing position can be said to be an outlet. But now, it has gradually begun to tend to a balanced state. It is no longer like ten years ago and five years ago, even if you don’t understand technology, you can find a software testing position, and you can also get a good job. Good salary.

In fact, such an opportunity is now very rare, and the relationship between supply and demand is basically gradually reaching a balance standard.

Status 2: manual test fading

➢The productivity of pure manual testing has not kept up with the requirements of the times

This is what everyone knows deeply, the first one, because manual testing has not kept up with the productivity requirements of the times. But it does not mean that manual testing should be eliminated. (As long as the software testing industry exists, manual testing will not be eliminated) This is the same reason that automated testing will not replace manual testing.

No matter how good our automated testing and artificial intelligence are. Manual testing will still exist, but it will occupy less and less proportions, and the manual testing now cannot be compared with the manual testing ten years ago. Because the current technical requirements are getting higher and higher, the current manual test market is getting smaller and smaller.

So if you change careers on a zero basis, you must think carefully.

In each line, you achieve 2 of the 28 law, and the previous (money) scenes are very impressive.

Of course, I have to admit that most of us are ordinary people, including me.

Being able to have a stable job and live a comfortable life, so Star Master said in the movie: People, the most important thing is to be happy!

It is still more traditional, thinking that New Year's Eve is the real Chinese New Year.Insert picture description here

This article mainly shares 8 points, which can be read as needed:

Share1: Toutiao/Interview Questions for Tencent Software Testing Posts

Share2: What skills are needed to get an annual salary of 200,000 yuan?

Share3: Challenge automated testing

Share4: Automated testing experience

Share5: About test development

Share6: The current state of the testing industry

Share7: Xiaomi tested for three years, how can I accumulate experience?

Share8: How to improve the company's interview pass rate?
Insert picture description here
Share1: Today’s headlines/Interview questions for software testing posts of various major companies in Tencent
(1) Reference answers to software testing exercises

(2) Test interview questions and some materials

(3) UFIDA automated test interview questions and partial answers

(4) Some basic interview questions for software testing

(5) Software test interview questions (Softcom Power/ Beyondsoft/ Qihoo/ Rising/ Chinasoft)

(6) Alibaba and Huawei written test and interview questions

(7) Bilibili software test engineer interview questions

(8) Meituan software test interview questions memory version

(9) Pinduoduo software test school recruitment interview questions

(10) Rising iSoftStone test engineer written test questions

(11) Sogou software test engineer written test questions

(12) Tencent 78 software test interview questions in the past three years (including answers)

(13) Written Test Questions for Byte Beat Test Engineer

(14) 5 important interview questions (high gold content, watershed can pass many people)

(15) Analysis of Interview Questions of China Test Software Test

(16) Software test papers

(17) Theoretical basis to test and development interview questions (detailed video)

(18) Other parts (mainly explaining some comprehensive issues)
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here

Part of the resources comes from network collection and testing friends in the enterprise, thank you seniors for answering questions!

Share2: What skills are needed to get an annual salary of 200,000 yuan?

Due to historical reasons, most of the testers first came into contact with pure functional interface testing. With their working years, they will be exposed to some common testing tools, such as packet capture, database, linux, etc.

I majored in computer science at university and have a certain programming foundation. My software testing career was the same as most testers, and I started to do software functional testing at an e-commerce company.

Someone left a message and asked me, if I do a functional test in a first-tier city, if I set a small goal and want to get an annual salary of 200,000, what skills do I need?

First of all, you must be proficient in the business process of the entire product, and business is the foundation, so as to ensure that when the product is quickly iterated, not only the integrity of the new function is guaranteed, but the quick return to the original function is not affected.

Then you need to master some commonly used testing tools to assist testing:

Web-side testing: browser developer tools, network, console, compatibility testing

Mobile app test: (Android/IOS/ipad) the whole test process, compatibility test, stability test, fluency test, adb common commands

Server: master interface testing, use of packet capture tools, and how to verify the integrity of the interface

Linux: commonly used shell commands, view error logs

Database testing: Familiar with the structure of database tables, master common additions, deletions, and changes to check SQL statements to facilitate analysis of test results.

Common tools used: SVN/git version control tool, postman, jenkins application packaging and construction

In other words, if you get a new product testing function, if you can quickly become familiar with the product business through the database table structure and analyzing the system log, it shows that your testing thinking and functional testing capabilities are already very good.

At that time, I mastered the above skill points and improved my work efficiency in the company. It was relatively easy. This led me to have enough time to pick up the programming language, the java language that I first used, and then learn various automated testing techniques. Automated testing is particularly interesting and amazing, which aroused my strong interest.

Later, I found that the Python language became more and more popular, and I found that python is particularly suitable for automation and for test engineers with weak programming foundations.

Python can also be used to crawl, and you can write some timing scripts and database scripts with python, which is very efficient

Share3: Give up the offer with an annual salary of 200,000 yuan and challenge automated testing

At that time, I gained the trust of the leaders in the company. In terms of salary and year-end bonus, the annual salary can reach 200,000 yuan.

However, due to the company's size and product limitations at the time, automated testing has never been applied to the company's actual combat projects. I think the outside world is very big. Automation has become popular and becoming more and more popular. I want to break through the bottleneck of my own testing technology. I resolutely quit a company to do automated testing work.

So I resisted the pressure, and continuously learned automated testing skills systematically, and applied what I learned.

I implemented all the automated tests on the front and back ends of the company's products.

Those automated scripts have truly become company assets, and the benefits of each return on the line have far exceeded my expectations.

And regularly show the effect in the company's technology sharing session, the sense of accomplishment from 0 to 1 is very unforgettable.

Be responsible for the automation test team work and build the core framework

The technology stacks used for learning include Python language, Selenium, RF, Requests, Jenkins, as well as experience of advanced mainstream Docker container technology, continuous integration, etc.

Let me see the charm of technology, the improvement of technical skills can make the whole person very confident.

Therefore, the benefits of automatic testing are not only the improvement of salary, but also the pits encountered in the automatic testing in the middle, the ideas for solving problems, and the expansion of technology, which has increased my knowledge.

Finally formed a set of knowledge framework system, and got a set of effective automated test plan

Share4: Automated testing experience

Misunderstanding that automated testing is useless?

Automation is an eternal topic for test engineers. Some people often ask me:

As for "Can automated testing really improve efficiency? I don't think it works", I think this is the biggest misunderstanding of the meaning of automated testing.

A knowledge such as automation you feel is not useful, because it is not possible for you. And what you don’t know is often your minefield

Then why do we do automated testing again? I think the biggest significance lies in the curing of the testers' abilities.

Scripts can represent the testing methods of testers. Through the scripts, the ability that was originally in the human body can be solidified into the assets of the organization.

For example: creating test data, running a large number of database scripts, page service monitoring, etc.

Automated test scripts allow different teams to share this ability through test scripts even if they do not understand this function. This is the meaning of automation.

Share5: About test development

Later, by a coincidence, my friend recommended me to a financial company to do test development, responsible for developing the company's customized test quality platform.

This is also a challenge for me, in new areas, test development is very popular in first-tier cities. At that time, the salary was higher than that of junior and intermediate development engineers.

After arriving at the job, withstand the pressure, continue to systematically learn test development skills, and apply what I have learned. The technical architecture uses front-end and back-end sharing, including Python's back-end development framework Flask, front-end framework vue, elementUI components, etc.

I insisted on doing test development for several years, and realized that test development is equal to the work of the whole test cycle, including familiarity with product functions and business.

Requirements design of the test platform, front-end and back-end R&D of the platform, self-test of the platform, promotion, training of product use and operation for dozens of people in the test department.

Therefore, the main premise of test development is to have rich experience in functional testing, interface automation, and very skilled UI automation, otherwise it is difficult to carry out test development work.

At present, the development of the test platform project has been completed and open sourced on Github. Friends who are interested can go to Github to download https://github.com/ooqitech/ATP

Share6: The current state of the testing industry

Guangzhou software test salary income Insert picture description here
National software test salary income Insert picture description here
1-3 years of work experience, soft test engineer recruitment salary Insert picture description here
3-5 years of work experience, soft test engineer recruitment salary
Insert picture description here

With the current trend of the testing industry, when you go to interview test engineers at any level, you will be asked whether you can automate testing, so automated testing is already a necessary skill, not a bonus item.

In other words, the use of open source testing tools is not enough to raise the company's salary or change jobs to first-line Internet companies. Because the implementation of real enterprise automated testing must be done by a team,

When you are familiar with using these open source frameworks, you will find that some frameworks are interlinked, so based on these open source frameworks, we create our own test framework,

The test framework suitable for the project can be packaged independently according to the actual test requirements of the company, and it is practical. Established its own technical system, obtained a set of effective automated testing solutions, from bronze to king.

This allows our automation team to focus more on the test case design itself to achieve the goal of improving product quality and efficiency

Share7: Xiaomi tested for three years, how can I accumulate experience?

Due to historical reasons, most of the testers first came into contact with pure functional interface testing. With their working years, they will be exposed to some common testing tools, such as packet capture, database, linux, etc.

Technical direction

Functional test engineer

Automation test engineer

Performance test engineer

Test Development Engineer

Test architect

Senior Test Architect

It's not played

Business consultant

Industry consultant

Technical consultant

project manager

Quality Assurance Engineer

Software quality management expert

Management direction

Test leader

Test manager

Test supervisor

project manager

Product manager

Product Director

But there is a relatively common problem. Since most companies are now using agile development models, it is easy to fall into rapid version iteration.

So that there is no time and energy to learn some advanced and mainstream testing techniques, such as a certain programming language, automated testing tools, testing framework construction, testing platform development

Even if you squeeze the time to force yourself to learn, you don’t know where to start. Those fragmented things can only let you understand, it’s hard to digest.

When you want to form your own output and use your own ideas and techniques to do projects, you have to go back to the knowledge framework to learn

Don’t learn from fragmented information. It’s not called learning. You have to have decision-making learning, systematic learning, and problem-solving ideas.

For example, interface testing is already an essential skill for test engineers, and building an interface automation testing framework is also a reflection of the watershed of testers' capabilities.

From elementary functional testing to senior test development engineer, there is no other shortcut. From beginning to end, I believe that progress depends on learning, and learning depends on time. Now the Internet industry is basically the 996 trend, and programmers working overtime are more obvious, so using fragmented time to learn is the most suitable way to improve yourself.

Several stages of testing career development: Insert picture description here
Software testing development process Insert picture description here
Software testing full-stack learning route Insert picture description here
Practical hands-on project

Actual project reference:

Now most companies are separating the front-end and back-end projects. For Xiaobai, to practice interface automation and deployment environment, you can search for such websites on the gitee/github platform to practice the project.
Insert picture description here
The research and development of the test platform project written in Shanghai has been completed and open sourced on Github. Friends who are interested can go to Github to download https://github.com/ooqitech/ATPInsert picture description here

Share8: How to improve the company's interview pass rate?

(1) Prepare resume

The interview will ask you questions based on your resume, especially for testers, after seeing your project experience, they will more or less ask related questions, and even first-line Internet companies will ask questions about the project, so be prepared This part of the resume is particularly important.

When preparing a resume, it must be true. Fake resume is a taboo in the workplace, so remember. Secondly, it is necessary to clearly distinguish the difference between the three words "understanding, familiarity, and proficiency". The degree of mastery of the technology stack is closely related to the difficulty of the interview questions. Insert picture description here
Of course, in order to help you pass your resume smoothly, I have also prepared some template gift packages, including my own resume. Welcome everyone to refer to:Insert picture description here

HR frequently asked questions

Five questions for the soul!

➢ Please introduce yourself

➢ Why did you leave your last company?

➢Why switch to testing? What do you know about the testing industry?

➢ What is your expected salary?

➢ What do you want to ask me?

(Everyone can prepare for these issues in advance)

First, let's take a look at self introduction.

In fact, who can't introduce themselves? My name is XX, how old am I this year, where do I come from, isn’t it over?

This is actually quite simple. But you want to introduce yourself well and let others know you and get to know you within a minute. This is actually tricky!

No matter which company you go to interview with these five soul questions, you will basically not be absent.

➢ Please introduce yourself

➢Analysis: Contains content: basic personal information + work experience + project introduction. Prepare in advance and express the process within 1-2 minutes. Be careful not to talk about the reason for resignation or change careers. If you are a foreign company, prepare to introduce yourself in English.

➢Reference example:

Introduce yourself.

The first one: we have to control the time within 1 to 2 minutes and don't talk too long.

The second one: We must express fluently and confidently.

Life is like a play by acting!

Because when some small partners look for some technical positions, there may be more or less small "packages" whether in terms of skills or project experience. When talking about skills that he is not familiar with, he will be a little nervous and unconfident. We must overcome this kind of psychology in this area. In other words, the first thing I want to convince is myself. If you didn't convince yourself, the interviewer who showed it would not believe it.
Insert picture description here

Introducing ourselves, we have to pass three messages to HR (interviewer)

1. Basic personal information

2. Work experience

3. Project introduction

If you are going to a foreign company for an interview, you must prepare a self-introduction in English.

Reference example:

(1. Basic personal information)

I am xx from xx and graduated from xxx school xx in 17 years. (Don’t go into details about gender, female, male, etc.)

(2. Work experience)

I have been engaged in the testing industry for 3 years. During these 3 years, I have worked in 2 companies, the first is xx company, and the second is xx company.

(3. Project introduction)

In the past 3 years, I have done 5 projects, including web projects, app projects, and medical projects. In these projects, I am mainly responsible for functional testing, interface testing, UI testing, compatibility testing, and automated testing. Many tools are used in work, such as the bug management system Jira, postman, fiddler, selenium, etc. I am a meticulous and serious person in my work. I think your position matches me very well, and I believe in myself Able to do the job. Thank you. (Highlight personal skills + advantages)

The first one makes the interviewer recognize you, the second one knows that you have several years of work experience, the third one knows which projects you have been exposed to, the fourth one knows which skills and techniques you know, and the fifth one knows Your character traits, what are your strengths.

When you introduce yourself more clearly, you can save a lot of detailed questions (everyone is very busy and time is precious)

Tips: When you first enter the workplace, prepare for the interview. You can "speak" yourself in the mirror again.

➢ Why did you leave your last company?

In fact, the reason why the interviewer asks such a question is to examine whether you are stable, excellent, or motivated, and how you performed in the last company.

➢Key points: Mainly examine whether you are stable, excellent, motivated, and your performance in the last company.

Let's look at a few examples of errors:

➢Error example 1: Dismissed by the company (not good)

The last company was very good, and the boss kept me when I left, but the company’s projects are not many and it is relatively leisurely. I still want to do more things and exercise more.

➢Error example 2: Can't get along with colleagues (workplace personality)

The company environment and atmosphere are good, but the departments are stratified, infighting, and it is not easy to do things in the middle. I want to learn more and improve myself.

➢Error example 3:. The previous company worked too much overtime and the pressure was too great (not stable)

The process system is unreasonable, resulting in unreasonable workload distribution, communication cannot be resolved, and self-improvement will be delayed

Although we really want to express this in our hearts, we should not express it in very straightforward language.

When resigning from the last company, we must not talk about the blunt words of the last company, but must highlight your strengths. Then let’s turn a corner, no matter which company you are in, the workplace is very taboo to talk bad about a company, because it is very likely that when you leave my company, you will also tell where our company is. it is good. (They are all grown-ups. This is the same as being a human being in our lives. I have often thought about sitting in meditation, and talking about other things.)

➢Why switch to testing? What do you know about the testing industry?

The interviewer asked this question, just to know what your motivation is and whether you are stable in this industry. (What is your desire for this job)

➢Reference example:

  1. The development prospect of testing is good, challenging, and very optimistic about the future of testing

Speaking from the general direction, everyone wants to pursue a career (position) with very good prospects, high salary, and experience of self-worth.

2. My personality is meticulous and patient, very organized, good at communicating and finding problems

3. Have development experience and are very familiar with code, database, and system. I believe I can be better qualified for testing

In terms of my own smallness, what advantages do I have and are very suitable for this position. I think my personality is very suitable for software testing, so I switched to software testing. All of these can help you do a good job in the software testing industry and analyze it from a very stable perspective.

4. Test coverage is wide, and knowledge requirements are also wide. Doing tests can allow you to learn more extensive knowledge

I very much recognize this industry.

➢ What is your expected salary?

➢Key points: Talk about salary skills, self-awareness

➢Analysis: Salary is based on interview performance + work background + study background + job grading. Generally float between 1000-2000.

What the interviewer examines is whether your perception of yourself is accurate.

For example, you actually only have a functional test, but your salary is set at 20K50K. This is obviously inaccurate in your perception of yourself.

In the second case, a comprehensive assessment will be made from interview performance + work background + learning background + job grading. Basically, in terms of salary, the range it can talk about is probably between 1K~2K.

For small partners who have just entered software testing, the impact is still quite large. Maybe 1K~2K is our monthly rent, transportation, and other daily expenses.

So when talking about salary, first of all, you must have a psychological value in your heart. (Value evaluation of self-cognition) That is to say I am a functional test engineer now, but I have three and five years of work experience, then I must be 2~3K higher than the situation without work experience, this is my experience of myself Evaluation of value.

For example, my psychological value must be at least 8K, and I won’t go below this. In the actual interview process, we have to make an increase on this number, because HR will "bargain" with you.

➢1: Don't talk about salary range, talk about fixed numbers

Don't talk about the scope of our salary, but a fixed number. For example, HR asks you what your expected salary is, I said it is 5 8K, then HR will think that 5K is acceptable to you, then he will set you between 5 and 6K (even 5~5.5K)

If our psychological value is 8K, we will say that my expected salary is 10K, which also gives HR room to "bargain".

➢2: Salary is higher than expected 1000-2000, HR will bargain with you

➢3: Generally, the salary increase for job-hopping is about 30%. If HR asks about your previous salary, you must prepare in advance

Some HRs will not ask your expected salary, they will directly ask you what the salary of the previous company is. He will basically increase your salary by 30% as a reference for your salary quota (generally, the salary increase for job-hopping is 30%. %about)

➢4: Talk about salary according to the interview situation, if the interviewer's evaluation is good, you can set a higher salary

It is not recommended to write the expected salary on the paper resume (whether it is low or high is not good). We will consider the overall situation of the interview, including you during the chat, think this is very interesting, the interviewer treats you Very satisfied, then I can negotiate a higher salary.

Insert picture description here

➢ What do you want to ask me?

Please leave a message in the comment area.

Proverbs written at the end of the article

Finally, 2021 is willing to come, no matter how many joys and sorrows there have been in the past.

How many are disturbing, when the sun rises as usual in 2021, can everything start again?

In 2021, there will be no exception. A group of people born around 1996 will enter the palace of marriage. A group of people born around 1995 will have their first child. Another batch of "post-80s" will usher in the age of confidence. Another batch of "post-00s" will enter the college entrance examination room.

When the world is back on track, when the sun rises as usual, the world continues to move, and humanity is endless.

This is the 2021 we are most looking forward to

In the new year, we may not be able to really predict the future. But no matter how the world changes, create your own life.

This is our 2021.

In the above article, all the mind maps, note content, interview questions and other materials mentioned can be shared for free. You only need to pay attention to the WeChat official account: programmer Yifan, [Follow] and then homepage [click] [Receive information ] OK.

Guess you like

Origin blog.csdn.net/qq_42434318/article/details/112542088