Summary of the experience of being a test manager after two years of graduation

I. Introduction

  • Recently, I have seen the seniors in the industry share some past experiences to guide our testers. I respect our seniors in the industry. Without them paving the way ahead, our young testers are still running into a wall or feeling the stones. He, combined with the experience of the predecessors, as a young tester, I also have some summary experience in the workplace, technology and industry communication. Today, I have some time to write about my experience and opinions as a post-90s tester. Well, let me briefly introduce myself first. I graduated with a bachelor's degree in 15 years, and I have one month left to work for two years. Now I am the test leader in the company's innovation team. However, due to personal development, I will soon have to work with the current one. The company said 88

2. Emotions

  • I have long been interested in the direction of software testing. As early as my junior year, I basically decided that I would become a software testing engineer. At that time, I took a software engineering course, and I was particularly interested in software quality assurance, software system and project management. Heart, after the teacher finished talking about the methods of white box testing and black box testing, he started using the code he had written, and gradually found that he was interested in software testing, although his code skills may be relatively watery, plus Obsessive-compulsive disorder likes to find fault with the character, it feels like a mutual love, and then I will learn some introductory techniques for performance and automated testing by myself. I still remember that my first automation tool was the button wizard, and I remember that it was Tmall Double 11 in 2011. When it comes to grabbing red envelopes, I just used the button wizard to grab a red envelope of 55 yuan. As a result, Tmall created a cat that ran around in the second year and stopped grabbing it. At that time, I realized the efficiency improvement of automation. The importance of it, so whether it is an internship or a job later, it is all software testing engineers, and then I will go to my current company, which is also the first company to enter the society, and start the life path of software testing.

Three, ignorant

  • Software testing, maybe so far, many people still think that it is just looking for bugs, but it is estimated that this phenomenon should be improved now, maybe it is because I have some understanding of software testing, so the attitude and method of work are also different. When I was in the company, I was actually quite ignorant. When I came to an innovative team, the product was a new product, which also meant that the business was also new. At that time, I was doing manual testing on the ios side, just a little bit. I am not familiar with the operating system, so I encountered many pitfalls at the beginning. For example, I upgraded the only ios7 device at that time. Everyone knows the pitfalls of Apple’s system upgrade, and the diversity of the environment is gone. I can understand the situation at that time. Boss, he also wanted me to get in touch with places that I had not touched before. I worked very hard at the beginning, doing mobile-side tests, web-side tests, and even desktop-side tests and background tests. Basically, We played a round on all sides of the product, but it was always a little bit, the efficiency was really low, the product and the team were new, there was no automation, etc., so I was ignorant at the time and realized that I might be able to help the team Bringing some changes, waiting to be done, also means that the ground is full of opportunities

4. Clear

  • With the above awareness, I understand what I want to do. There are opportunities, but I can't do it without preparation. Well, I am more eager to do automated testing, then learn automation, which is a mess at the beginning. I used the button wizard before. Recording and playback is actually a kind of automation, but it is too low-level. I want to improve and learn more advanced techniques. Later, I will go to testerhome, Tukku and other technical websites to search and post self-study selenium. At the same time, because my products have On the mobile terminal, everyone used appium at that time, so it was good to learn the most commonly used ones. I didn't learn python at that time, but when I was learning automation, I deliberately used python to write automation scripts. The effect of parallel learning is very efficient. , not only allowed me to learn the technology of automated testing, but also learned new languages. Since then, I basically stared at the computer every day after I got home from work, wrote scripts, and learned languages. After a month, I put I have learned some of the most commonly used patterns, such as page object, keyword-driven, data-driven, etc. Later, I remembered that there are always people talking about testing frameworks, testing tools, etc. One night, I deliberately searched for the word testing framework, everyone guessed What is the first thing that pops up? It is estimated that friends who have read my previous posts will know it at once. It is RobotFramework (hereinafter referred to as RF), which is known for its keyword-driven, easy-to-learn and easy-to-use I also watched other testing frameworks such as Cucumber, so why did I choose to learn RF? If I only learn technology for myself, I can learn anything, but my starting point is to bring some changes to the team. In the test team, except for the boss, almost no one can type code. If everyone plays together in automation in the future, the learning cost of typing code directly will be high.The Internet era is fast, and some things cannot be waited for. RF is actually very easy to control for a person who does not know how to type code. Well, choose it, and later learn RF and python-related technologies, including jenkins, keep in touch with my boss every day to let him know about my learning situation. At the same time, I often stare at my boss and see that he needs support in some aspects. I will be the first to jump to the best of my ability at that time. Come out and ask me to come or let me help. For example, once the boss started to try to do performance tests, he wrote a loadrunner script and ran the first performance test of our project. Due to my own curiosity, I asked my boss. Let me do the performance test request. Although I have been exposed to loadrunner before, I have never done it in combination with business scenarios. I will ask my boss how to do the performance test, and I will search and post it on the Internet. Some specific scene design and specific use of the loadrunner tool, so, since then, I have arranged the performance test of our product. It seems that there are many things, but this is a very important experience, and the experience also depends on the opportunity. If I miss it, maybe other members will grab it, then I will lose the opportunity to do performance tests, and my ability will not be improved, so I gradually gain the trust of the boss and the recognition of some members of the team. The motivation also gradually increased, and this state continued until the beginning of 2016

Five, attack

  • After coming back after 16 years, our products have begun to stabilize, and it is time to do automated testing. Due to the previous accumulation and communication, our boss recommended me to our director to arrange automated testing of our products, including mobile terminals, On the web, desktop and backend, I was quite flustered when I received this task. After all, I had no actual combat experience before, and no one took it this time, and I had to bring 2 test friends to do it together. I was still working for less than a year at the time, and I was really panicked, but after calming down and thinking about it, this is a living opportunity. Isn’t the knowledge and technology that I accumulated in the past for today, why not try it, it is successful , that team really made me change. Failure is also a very important experience for me. I don’t do it for nothing, I just do it hard, so I started to realize the previous idea step by step, I just Putting the robotframework+jenkins+support library solution into our project for automated testing, that is, with my first post on testerhome RF+Jenkins testing framework practice, before putting the solution into the project, I also dedicated it to the members of the test team It was also my first training in the company to open a framework for the training. Why did I talk about training? Maybe it was also training. It made me realize that the sharer of the training will gain more than the receiver. I started from the first training. I understand what a solution is, and I also summarize what I often say in the testing team: don’t learn tools for the sake of using tools, but learn tools to implement a set of solutions to solve problems. Yes, why should I learn RF, it can be quickly applied to the project, and it also solves the problem of the test team getting started. Why do you want to learn jenkins? It is to be able to collude with a set of continuous integration processes and support the rapid iteration of products. I am here to solve the problem. Learning tools, that is, from that time, my technology and career path began to take the road of attack. Later, I adhered to the heart of learning tools in order to solve problems, and also made some technical solutions to solve the test in the product project. Some of the needs and problems, you can read my post to understand what I have done, and then I will help the team solve some communication and coordination problems one after another, such as bringing interns, front-end and back-end communication, as much as you can. Because of this, my initiative and execution have also been exercised. Anyway, try everything. Young people, it’s not a loss to learn more.

6. Sublimation

  • Heaven rewards hard work, and opportunities are reserved for those who are prepared. In July of 2016, my boss asked to leave. The product director asked me to take over the first time, and my panicked heart began to beat again. I have only been working for a year, and I have to be the test boss? Can I do it, there are other guys in the team who are more experienced than me, why me? Maybe I really came prepared, or the same sentence, why not try when you have the opportunity, the beating heart calmed down, well, I came, at that moment, I started to serve as the team's test boss
  • It can be said that I am a little white boss. I have no previous management experience. However, when I was a student cadre in a university, I still played a role. The first thing I did as a leader was to adjust the team's testing work method to achieve The so-called end-to-end testing (this is what I understand end-to-end, may be different from other friends), is that one person is responsible for all aspects of testing at one end, such as automation, performance, special projects, and even the development of test tools, Sure enough, this effect is still obvious. After a month, the quality of the product side has really improved, and the ability of team members to target the side has also improved. This is because the things that everyone did in the past were too messy, it is better to focus on doing it well first. One direction, and then the other, so we thought of using an end-to-end method. During this period, we pushed the automated testing of the web side, ios side and android side, and each side was basically completed by one person. During the process, the members of the team are familiar with how to use the RF framework. Later, I also emphasized that everyone should learn the principle, and also analyzed the RF execution principle and layered structure. In this way, not only the ability of everyone has been improved, but the automated testing of the product has also been promoted, consolidating the In the testing phase, it is obvious that the quality of the product can be improved for a period of time, especially on the web side. In the past quarter, there were more than 100 bugs, and then there were more than 50. In addition, the test cycle of each version was one week before, and the latter 2 It will be done in 3 days. This is all about the improvement of efficiency, the sublimation of members, and the guarantee of quality. This is the best state of testing work.
  • The second thing, in fact, what we did in the past can only be called product testing. It has not yet reached the height of product quality assurance. The project has developed to a certain extent, and some things still need to be managed. What was the situation at the beginning? The testing team is developing When we handed the package to us, we only knew what to test. This is wrong. There is no order in version management. members and product managers, R&D, etc. began to formulate product quality processes, such as requirements review, use case review process, which does not seem like the model of the Internet agile team, but we implement it in a lightweight way, the product is the overall situation , Product requirements generally describe what to do, but it is easy to miss the details, who makes up, testers, don’t you always say that the tester understands the business better than the product manager, so we can reflect the details when reviewing the use case, The cycle of use case writing and R&D implementation is adjusted to the same period, the test is shifted to the left, and the use case is reviewed after the use case is written. We don’t mean to look at each use case one by one. For agile and rapid iteration, this is not a good way, so what to use, xmind is a It is a good tool. Product managers can use it to list requirements, and tests can also be used to list test concerns. The test concerns cover the product requirement path, and at the same time, it proposes the places where the product requirements are not clearly described, and through ease of use, functionality, and reliability. Some methods such as gender and other methods also put forward the details of attention, which can not only fill the requirements, but also inform the development of any pitfalls in advance, and at the same time consolidate a focus and scope of the test. , it is better to call the test focus review, casually, it is good to design and implement an appropriate scheme or process to solve the problem. At the same time, it is to make a version grayscale launch plan for the product, design the grayscale range and the functions to be paid attention to, At the same time, after the version is launched, do a good job in the docking with customer service, and do a good job in collecting and sorting out online problems. There are many more, such as version number management, testing specifications, and online process. Under the scope, every detail needs to be guaranteed, from requirements to R&D to testing to online operation.
  • The third thing is defect management. Each tester has a different method of raising bugs, and even the description of bugs is inconsistent. R&D often complains to me. There is no picture for bugs, no test environment, or even a test account. , and then our R&D environment has not reproduced, so how to fix bugs, and the range of bugs often reported by customers is far from the range of bugs found in our tests, which means two points: 1. The focus of testing is not close to customers, in our opinion 2. The quality of our bugs is not guaranteed, which increases the communication cost. This is also a problem to be solved. How to do it? We first classify the functional modules of each end of the product as bugs. Function classification labels, clarify module priorities, formulate bug priority weights, and at the same time mark invalid bugs and online bugs as an evaluation indicator for testers' control quality. For example: we used to think that our communication module was very Important. Generally, a version can detect 25 bugs in the communication module, and then only 5 bugs in the collaboration module. As a result, the problems or suggestions that customers feedback after the launch are all in the collaboration module, and there are few communication modules, which proves that most of the customers are currently Using the collaboration module, but we put the workload on the communication module, it is not right, so combine the data of online bugs as a standard for testing focus, and at the same time, after the current version is over, we usually The number of bugs corresponding to the functional modules is analyzed and counted, and the defect trend analysis and risk estimation are done well. Then the test scope and focus of the next version will come out. This is a method to improve efficiency. At the same time, we have unified the bug template. The personal format is the same, the research and development looks comfortable, the bugs are naturally fixed, and we are comfortable when we return.
  • There are many, many more. As the test leader, I have indeed brought some changes to the team. This is what I have been working towards. Later, I will stick to the habit of sharing at least once a month in the team. 4 times a week, but we are not blindly trained and learned. The technical solutions that are out of business are all dazzling and flashy. Our training is all to solve the problems encountered in the current work, and we are all learning the technical solutions that can solve the problem the most. , and I have always advocated round-table training. Although there are keynote speakers, each small partner will more or less understand the content of the training theme before the training, and then everyone will put forward different views and opinions during the training. Accepting and learning through one’s own thinking is also effective. Everyone makes progress together. What is the effect of this? To be honest, as mentioned above, almost no one in the test team would type code. Later, at the end of 2016 and the beginning of 2017, they will write a test independently. The framework and app-specific testing tools have been introduced, and some technical solutions such as anyproxy, docker, locust, etc. have been introduced into the team in the process. Speaking of sharing training, I am also active in the major testing technology groups, and I used to ask everywhere. People, help others solve problems everywhere, or return to the sharer is the biggest beneficiary of the training. If you don’t understand, you will deliberately search and post to find a solution based on your own experience, and you will also participate in spare time. Some test salons keep communicating with other peers to understand the development of the industry. Naturally, they have more knowledge and people. Gradually they have learned to understand the direction of technology development, and can quickly understand and learn technologies that adapt to the times. A tester's sense of smell, know how to change, learn how to improve

7. Precipitation

  • Quality assurance is divided into three parts, product quality assurance, delivery quality assurance, and operation quality assurance. Only when these three parts are done well, will the realization of product value be guaranteed, but how many people understand what these three parts are to do? Yes, so I will say that some testers do not have high requirements for themselves, and the value of testing can be further improved. Looking at the above three blocks, you can know the importance of testers, but how many people do it?
  • At the beginning of the year, I interviewed a lot of testers, including several seniors who had worked for more than 10 years. This is not a smear. There is indeed a phenomenon. I interviewed that senior, who had worked for 10 years and was also the test leader before. It is biased towards automated testing. Well, I asked him how to do automated testing on the mobile terminal. He also knows how to do it in the appium+ language. I asked him how he designed an automated testing solution to solve the problem of automation, and he kept talking with me. Speaking of tools, when I asked him what design patterns he used to improve the maintainability and execution efficiency of the code, he didn’t understand. Okay, I asked how appium communicated with the mobile phone to execute automated tests. In the end, the reason why I directly rejected it was that I asked him how to manage the test environment. He said that the test environment is for R&D and operation and maintenance. , because as the person in charge of the test, it is also a role of leading people. If you don't understand things clearly, if you implement them in the team, the members of the team will not understand clearly. It is estimated that the degree of problem solving is not high. It feels like It is only used in the project, and even the most basic test environment is used for R&D or operation and maintenance. What is the test? No wonder people say that the test is low-end, and things must not only be learned, but also learned. The above situation violates The principle of doing what you can do is not only within reach, but also a basic requirement.
  • The second thing I remember is that I have been working for 4 or 5 years. I asked about the difference and function of test strategy and test plan. I said that I have never done test plan and test strategy. There is an even more outrageous one. It says in my resume that I can do performance testing. Scenario design, I gave him a case during the interview, but I couldn’t write it out. I didn’t know what business scenario design was, what was numerical estimation and bottleneck analysis. I directly asked him how much concurrency he had done: 50 people, I kneel now
  • Almost no one has the sense of smell I just mentioned. The simplest, docker is so hot now, and all the candidates I interviewed don't know what they are from. After a while, I suffered from interview phobia, referred to as "" Facial paralysis”, I don’t know how to do the test, let alone product quality assurance, let alone the three major quality assurances. Others always say that the entry level of the test is low and the status of the team is not high. I didn’t believe it at first, because our test team We still have the right to speak out in the team, because we pay close attention to quality, and those are still a little bit. I always think that how many bugs I have found and how many tools I have learned is very good. In the end, I think that the test is very low-end. Having said that, I have also learned a lot of knowledge and experience through exchanges in the process of meeting others. At the same time, I have a habit of interviewing. I will specifically pick the questions of the candidates to provide them with some suggestions and opinions, even if the interview fails later, At least I won't let you come here for nothing. What's more, I held a special training. I asked members of our test team to be interviewers to interview me. I interviewed others until I was speechless. In fact, it is also a process of summarizing for yourself. Before you ask others, you must at least understand the principle of what you are asking, and then you will be at ease. That is a good way to improve, so I let our team's small My partner met me, and it really worked. They were well prepared at the time. I almost couldn't speak for a few moments. Haha, I also felt that everyone had improved a lot.
  • Times have changed, just looking for bugs is no longer enough, so every day I say: don’t learn tools for the sake of using tools, learn to solve problems, and do quality assurance, not just testing, bugs are to be prevented, not Looking for, this makes me more consolidate some of the views mentioned above. It is also during this period of time that I continue to deepen and improve myself, and optimize the technical solutions I made last year by understanding the principles and combining the business. If technical solutions are used in the team, they can solve problems and bring good changes to the team. Naturally, they will also be rewarded. In addition to the improvement of ability, there will also be an improvement in status. I was also promoted to senior engineer in March this year. Level, these are all based on accumulation. To do the above things, I basically only sleep 6 hours a day, and every day I try to do everything possible to solve the problem, improve the quality, and improve the efficiency. God rewards diligence

Eight last words

  • People go to high places, and their own development is also very important. Due to personal development and family reasons, I soon told the current company that I was 88. I came to the company for two years, which made me transform from a test newcomer. I am very grateful to the current team. The company and the company have given me so many opportunities and conditions to allow me to develop. At the same time, by sharing my past experiences, I hope to be of little help to test newcomers. At the same time, seniors are welcome to continue to test me and our generation. Newcomers guide, we create the light and future of the testing world together
  • A successful team is indispensable for these three roles. First, the person who controls the direction is usually the product owner. The life and death of the team almost depends on him. Second: the team's first productivity, usually the architect, has the best technology. The one who has a direction and a strategy depends on whether it can be realized or not. Third: It is said that foreign countries have a title for him called master. He understands technology, business, and processes. He is a full-stack person at all. He understands The strengths and weaknesses of the team, so that they can make suggestions and improvement methods in formulating product strategies, technical solutions and production processes to ensure that they can escort the development of the team. He is the firefighter and security guard of the team. The final development direction of the tester should be This team is the third person, personal opinion, everyone cheers, thank you

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326594875&siteId=291194637