Those things in the years when I was the test director

Today I will talk to you about some of my experiences as a test director.

Every time I ask me a question about career development, I will ask two questions back. One is what is your favorite job at the moment, and the other is what is your best job at the moment.

Faced with these two questions, most people's answers are very similar. For a moment, he said vaguely "I don't know..." or "I didn't think about...".

Indeed, eating, drinking, having fun, marrying wives and having children are the basic aspirations of most people. No ideal or goal seems to be something you can get with a single jump. This feeling is like a raged donkey, which can only be covered. Keep running your eyes forward, otherwise you will get a whip.

I often say that no life plan is a coincidence of historical opportunity.

Just like my resume, anyone who has read it will ask: "Have you taken the test? Why did you choose to take the test?"

Those things in the years when I was the test director

select? For many people, is career development really selected? Everything is forced, everything is inexplicable.

I used to say that with a two-year history of entrepreneurship and a debt of nearly 500,000, I came to Dazhihui to go through the entry procedures and start a new life.

This line is very familiar, like a fairy tale novel that I saw when I was young. The prince and princess have lived a happy life and loved them for a lifetime.

It's a pity that life is not a novel after all. If a person is written to death, a certain scene can be used to bring him back to life.

1

I believe that most people have had the experience of desperation. In the face of cruel reality, all ideals and goals have become worthless, and survival is the top priority.

At the end of 2011, the entrepreneurial tragedy made my family and I almost plunged into a situation where it was almost impossible to recover.

In the second week of the company’s liquidation, a friend introduced me to my job, saying that Big Wisdom was hiring an architect. The HRBP of the R&D center was his girlfriend. He asked me if I was interested.

This is really a road that is inexhaustible. It is better to come early than to come by coincidence. The relationship is so strong, I think it is inseparable.

"Thank you so much. I didn't expect that this bit of trouble would be on your mind."

"Don't be too busy and thank you, there is one thing I want to talk about first, this job being recruited belongs to the test team, that is, if you go in, the job is at most a test architect...", the voice on the other end of the phone seemed a little helpless .

"I don't know if you care? I heard that they have been recruiting for this position for half a year, but it has not been ideal. I think you will definitely be able to do it."

For me at the time, compared with positions and positions, income and stability were more attractive to me.

"It doesn't matter, help me arrange an interview," I can't believe this kind of refreshment.

"You can go there this afternoon, my girlfriend has already arranged it for you."

In the past, I never believed in any monsters, ghosts, or snakes, nor did I believe in the innocent perfect ending in the novel, but at this moment, I seem to feel hopeful when facing the future, but I can't face it.

2

The interview lasted for 2 hours. The interviewer was the test director at the time. He was nearly forty years old and spoke very calmly.

In the conversation, we exchanged various questions about impedance testing and discussed some methods of traditional testing transformation.

Memory in this area is my strong point, and I still remember some of them so far:

1. Only problems can be found, but problems cannot be solved

In the testing process, often after the code is written, even if the test partner’s ability is strong, the fatal problem has been tested by the force of the nine cattle and two tigers, but it is too late. If you want to turn back and deal with the problems, it will cost some Time and effort reduce the delivery efficiency. If you do not return to repair, the quality cannot be guaranteed.

2. Ability not willing to test

Small partners engaged in testing work generally do not have R&D capabilities, and those with R&D capabilities generally will not do testing. After all, regardless of status or income, development is higher than testing.

This forms the Matthew effect, the better the better, the worse the worse.

3. Business testing and business verification are indistinguishable

Under normal circumstances, when discussing requirements, the business side will call development, after all, development is needed to achieve it, but it will never be called testing.

There will be an embarrassment here, because it is impossible for the tester to understand all the code and did not participate in the requirements link, so it is very possible to miss some important tests. But the business side will not miss out, after all, this is the core of their work.

Because, we often encounter problems that are not detected by the test, but discovered during business verification.

Then interesting scenes appeared, business development, development and testing, and testing screamed wrong.

4. The test environment is a world-class problem

The testing environment is the biggest headache for every company. For example, when the test is passed, the production error is reported, and the test written by the tester is dependent on documents or other things, rather than code, when there are any inconsistencies in the configuration and data, it will cause problems.

In addition, if the test is not carried out automatically, it is very likely that it will not be carried out frequently and frequently, which greatly reduces the possibility of discovering environmental problems.

In the era when agile has not yet prevailed and the division of labor is in charge, these seem to be the dead spots of the test team.

In their eyes, as long as they can find a "bad guy" with rich architecture experience and form a test architecture department, these problems should be solved.

In this way, I became the "catcher" in a daze.

3

I have talked about this experience with my friends before. Some friends said that these problems can be solved with agile and DevOps . They are not a problem of corporate culture. Anyone can only fill in the hole, and it will not make much difference.

All evaluations that are out of the context of the times are hooliganism.

At that time, there were many people who knew agile, and many people who knew DevOps, but few companies could really implement these two things systematically. Everyone understands the theory, but no one can understand how to gradually implement the implementation on the existing basis and achieve the desired results.

Moreover, with the increase in delivery pressure, there is less and less communication between R&D and testing, so I want to use some methods to break through the communication barriers.

The first stage: separation of application and basic testing

In the six months after I joined the company, my main job was to participate in the work of the various test teams, first to get acquainted with the people, and second to get acquainted with the business and the existing work model.

After half a year, I started working with the test director to improve on a series of issues.

Let me talk about the organizational structure first.

Those things in the years when I was the test director

The Big Wisdom system is built on the C/S architecture, so R&D is naturally divided into “front-end” and “back-end”, and the company’s business is divided into “real-time stock quotes” and “financial data services”. In the sector, the “back-end” is divided into market information server and data server.

The organizational structure at that time adopted a functional organizational model. Since R&D is divided into three teams, testing can only follow.

Compared with the client and the market information server, the data server has many problems.

Take the above Stock Exchange Level-2 market as an example. The business scenario is solidified. Both access protocols and data encryption are very open and mature technologies, and there are few changes in demand and infrequent changes. As long as there is no new market access, there will be almost nothing throughout the year. Several requirements.

Looking at the data server side, the company has invested heavily in several consecutive years. Not only has it acquired several data provider service providers, but it also shouted the slogan of "publishing every day".

The little friends who have been struggling with R&D and testing, because of the different technology stacks of the acquired companies, this family uses SQL Server, that family uses MySQL, this family uses Java, and that family uses C++, and the problems of environment and integration are endless. In order to catch up with the progress, I can only grab the beard and eyebrows, no matter what application or the framework, piece together, and if it runs through, upload it, and report an error? Pull it down, change it, and continue.

Generally speaking, when encountering this kind of tight coupling, there is only one way to "dismantle".

Those things in the years when I was the test director

In order not to affect the iterative speed of the existing business, two separation principles have been established with the R&D team:

Original business: If there is a need to adjust, it will be forced to migrate to the new architecture, and the foundation will be separated from the application.

New business: Based on the new architecture, and separate the foundation from the application.

After half a year of tossing, regardless of the old business or the new business, most of the core parts have basically been migrated to the new structure.

Immediately, the data service testing team was split into "basic testing" and "application testing", one for infrastructure and one for business.

Because of this wave of operations, the company’s leaders decided to assign "basic testing" and "application testing" to my name.

I just slept inexplicably, and when I woke up, I became a test manager.

Phase 2: Try to integrate test-driven development

Work is almost the same as life, and worries are always wave after wave.

One afternoon, the leader came to talk to me and said that the mutual excuse between development, testing, and operation and maintenance is getting more and more serious. I want to hear if I have any good suggestions.

We are people who have read Sun Tzu's Art of War, and we understand it when we hear it. Immediately moved out of the DevOps plan, the leader listened and waved his hand again and again, and said: "This kind of big and comprehensive thing should not be fooled, let's be more practical."

I was taken aback, thought for a while and said: "How about trying test-driven development without changing the current process conditions without using my two teams as a pilot?"

The leader smiled, nodded, and said: "Well, you are very active, go ahead and do it, I support you!"

Nima, I feel that this is not a conversation at all, it is obvious that I dug a hole for me to jump on my own.

4

What is test-driven development?

For students who are familiar with Agile, I believe they must have heard of TDD (Test-Driven Development).

Roughly speaking, after a certain function is clearly to be developed, before the function code is developed, the test code is written first, and then the function code is written and verified with the test code, and so on until the development of all functions is completed.

In the technology circle, many people hate this seemingly perfect theory because it is too far away from the reality. Because we still use black box testing as our main method, just "writing test code" will keep us out of the door.

Therefore, we can only find some outlets that suit our current technical strength.

Like other companies, I found that most of the test bursts are concentrated in the integration test phase, for example, to prove it.

Case: The new A function of the business system involves the modification and addition of the client, the foundation and the application at the same time. What is the result?

Those things in the years when I was the test director

The following points can be clearly seen from this table:

  • All developers said that they had done unit tests and passed smoothly, so I have no problem.
  • Each test said that he ran the regression test and passed smoothly, so I have no problem.
  • Every time you submit, the client test is shouted in the group, please pay attention to the submission of configuration items, no one speaks.

I remembered that some friends ridiculed at that time, saying that every link said that they were okay, but as long as they were put together, various problems would arise. Could it be that there was a problem with Feng Shui in the computer room?

Obviously not, so where is the problem?

After half a year of tossing, a series of adjustments were made to the environment, configuration and organization:

Those things in the years when I was the test director

I believe in a word, there has never been a savior in this world. When you become stronger, you believe it firmly, and the difficulties become weaker.

By the end of 2012, we basically achieved the effect of " integration test team-driven development ", assisted development in troubleshooting, and replaced project management.

Because of this wave of operations, the company leaders decided to put the integration test team under my name.

In this way, I seemed to slept again, and when I woke up, I became the deputy director of testing.

The third stage: trying to unify the process and working methods

The Romance of the Three Kingdoms begins by saying that the general trend of the world will be united for a long time, and divided for a long time.

As the thorny issues gradually eased, everyone began to focus on processes and specifications.

At that time, although each testing team belonged to the testing department in name, they were basically fighting on their own. You have your process, and I have my routine.

For example, it is basically impossible for the superiors to obtain reports such as the rate of BUG repair or the improvement of measurement efficiency.

In addition, problems such as non-standard test procedures, incomplete test documents, and lack of control and management of test documents are also very prominent.

At the beginning of 2013, the company’s leadership decided to merge the remaining two test teams, the client and the market server, into my team and set up a new test department.

My position has also been promoted from Deputy Director of Testing to Director of Testing.

The goal is to complete the new testing department’s job functions, testing procedures, testing document specifications, daily project work, department evaluation mechanism, and training of the testing department’s personnel skills and business before the end of the year, and provide the company’s product strategy for next year. Higher quality assurance.

Thinking back to me at the time, my brain was filled with radical words of "how to help the R&D team unleash the potential". I slap my head and ask all the testing teams to switch their work tools from "Excel+Script" to Atlassian.

Those things in the years when I was the test director

Maybe this step is too big, and I am also very strong during the whole advancing process.

In this way, some old people in the test team were annoyed, and the atmosphere began to become unpleasant.

5

Careful friends may have discovered that not only the scope of each stage is very wide, but also the adjustment of the organizational structure is involved, so why did I push it so fast?

Strength and pressure are the two methods I use.

I have always believed in my heart that since the senior management entrusted this arduous task to me, I will do it at all costs.

Looking back now, I look very much like Shang Yang. The reform was successful, and people were offended. When someone covers you, maybe everything seems to be smooth. Once the person who covers you is gone, your time of death will come. .

In July 2013, Great Wisdom had been losing money for several years, the business was sluggish, the people were in panic, and an internal structural adjustment was carried out. I was implicated and transferred to a newly established department responsible for the exploration of new technologies.

To put it bluntly, it means being kicked and kicked.

In September 2013, I submitted my resignation application and left Great Wisdom.

In a blink of an eye, six years passed.

Every time I talk about this experience, I always say that if God gives me another chance to come back, I should be more smooth and at least make the "Judgment Day" come later.

Life has no ifs, only consequences and experiences, and experiences can be transformed into wealth, paving the way for future careers.

Some people say that there are so many stories about me, and I feel like I can't finish writing them.

Some people say that I can be a screenwriter, and the story is very slippery.

I just want to say that I'm a technical person and don't know how to make up stories. I'm just born with a bad temper. Naturally, I will encounter more ups and downs.

In addition, I am willing to keep these things in mind and write them down to share with you.

If you are willing, I believe it will be more exciting than me.

Guess you like

Origin blog.csdn.net/wangxi06/article/details/114924274