And all the brothers and sisters who are doing testing or will be tested
A software test engineer's overtime experience
Transferred from PMT Community. PMT is committed to research and practice of software technology and management, aims to encourage and promote the exchange, cooperation and professionalization of software practitioners. Welcome to http://www.pmtsolution.net
Write down this section of the water-based accounting, not because of boring. Just a wife wants me to pay, a "stinky" (this word only has few opportunities to enjoy) to do software, it is so late, what is going on outside? If you are also asked to write such materials, you can refer to this effect, maybe, maybe, different people will see different things from it.
(Deleted 500 words to his wife's watch)
background:
Our software products need to work on the three hardware platforms A, B, and C (theoretically affect our software), have successfully worked in A earlier, but there are still some in B, C. Question, the day of overtime is a deadline, it needs to be guaranteed to work on B and C. This product consists of three parts of x, y, z, which are responsible for three Teams, basic relationships: X and users deal, x call Y, Y is data forward data, Y call z, z and hardware deal.
Among them, x and y are newly written procedures, and earlier, more bugs were found on X, yES basically no problem. The Z's code is in the previous product, relatively stable. Due to the time pressure of the project, these three parts have no time to do separate tests, but after the programmer simply tests his code, it is necessary to integrate and test (this is my specific work). In addition to the three TEAM Leader left, X's programmers left; Y's Leader checked the work of Team Members, think that there is no problem, let them go home; Z's Leader is most "innocent", send all the hand After get off work, I have to leave it.
It is a disaster that is a needle:
It is time to work hard because X's work has not been completed, so everyone will wait, "reminder" (X's Leader claims to be 12 points to complete, it is a crow mouth), while all busy (I am watching online) news). In fact, X-to 7 o'clock is completed, but a test found a significant memory access issue. So X will debug, because X has been "notorious" on the memory access issue, so everyone (at least I) believe is the previous similar problem, or the previous modification is not complete.
But very fast, X found issues are: Y passed an empty pointer to X; very fast, Y also confirmed the X 's statement. Everyone is responsible Y, why did the programmer have been tested? In fact, it is very simple, the programmer's unit test program checks if it is an empty pointer, if it is empty. So, X and Y began "playing", and the other party with the error handling code of the empty pointer; but after kicking for a while, the new question will appear, Y, Y, I should have an empty pointer, so the code either y is a problem. , Either y to prove that you are right.
Looking for a bug, it is difficult: So Y's Leader has also joined the debug team, because Y's code has detailed log, so it will be positioned in a Team Member code. Unfortunately, Y Learder's development machine has dropped at a critical moment. Fortunately, we have implemented software configuration management, Y Leader quickly built debugging environments on other people's machines. Y made some modifications (in fact, the code he changed is irrelevant), after I test, I found it or not. I feel that x is also a problem with my career (later I know that it is 歪 正). However, X Ning Ke can see "There is a naked swimming in a scenic spot in Beijing", and it is refused to check his code. Y After a hard debug (there is a lot of time I think it is understanding that these don't belong to his code), found that a certain data did not achieve the emergence of empty pointers, but the literal, Z should always put this Data is transmitted to Y. However, Y's "allegations" quickly proved to be invalid, because Z Leader "show" the data from the hardware is good.
Thus, z Leader continued to eat biscuits; Y Leader continued to debug; X-one and other people continue to "study" management issues in my country's scenic spots. And I finally bored the best, start "friendship sponsor", check Y's problem code. The code is very small, and it is very casual, and even the format of the indenctive is monopolia; but it is not long in the code, the logic is not complicated. I focus on the memory of memory, but I didn't find problems.
I am wondering the same piece of code, why other data can be obtained, when this data is not available, the Y Learder is called. Although it sounds like a desperate scream, I dare to be sure, this is indeed a cheer after finding the true problem (and the screams are similar to the reason, after all, is issued after the body and minds). Sure enough, he found: This name is wrong, it should be status, but it is written in State. (Y, when you want to data, you want to pass the name of Z a data, then z is grouped from the hardware, and return to Y. The name of these data is Z definition) So, how can this low-level error? It turns out that the programmer of the error code y is from another copy, the name of other data items is the same, and the name of the data is different.
How many CODE can come back: Y Leader is busy change C file and h file, because the name of this data item appears, so Y Leader is very careful, it is very hard; I think he must be smelling him in his heart. This Team MEMBER why does not define a constant or macro. When Y Leader changed code, I was thinking, this is like Z in deliberate manufacturing traps: these two sets of data is similar, and the name of other data items is the same, why is this data, a State, another A Status, it's really empty, really TMD.
Y Leader finally confirmed all of the modified state. However, it is still an old problem with his Team Member unit test. You can imagine that we feel at the time, just like a ton of advertisement, the great "cool" to the top of the ruddle.
but! Y Leader is called: State in the unit test program is also changed to Status. Under countless eyes, Y Leader trembles Replace All, Save, F5. Finally, when everyone sees a string of characters on the computer, everyone is so comfortable. (Of course, if there is no ambition just now, it may not be every person to work when you work to midnight.). I think, at this moment, this love this scene, in the eyes of Y Leader, must roll something, except for eyelids. Now, I am going to play. When Build is found, I also need to change some State to STATUS. (If they also check it out, it will be fine). The programmers of x did not define a constant or macro habit, so I have reached many times, they will change all STATEs to change.
Wonderfulness:
Later, things can be described in a "peak loop", under the eyes of countless eyes (my hand is not trembling, because people have numb, or everything is used to it), I launched our software, connect to On the B platform, check all the data, all OK; connect to the C platform, check all the data, all OK. nailed it!
"Go home, go home, feel how much ...", I think, at that time, maybe everyone's heart is echoating this old song in Wang Jie (if you know this song), including accompanying We overtime to the poor boss of late night.
When other people have planned to turn around, my thoughts are in motivation. Looking at the faces of colleagues, including the boss vicissitudes of men and a few kinds of naive but not young programmers, thinking that the family did not see Dad in the family, I want to go home, but I am QA. I am silently connected to a platform, and then I found out what data is not. (If you set this scene or fade out, how do I think I feel like the end of the Hollywood forefront of the sequel).
When I shouted everyone, I don't know how to describe my feelings.
Silent, silent, see silent! Suddenly, the boss told everyone: Today's Deadline can get B and C platforms, and the a platform will say. He is really false, the boss can make a message, still do not open. After 3 minutes (whose half of the minute is tag to CVS), I sat on the Taxi home.
Shanghai in the morning is also neon glitter, so beautiful.
Postscript: This article is purely fictitious, if there is similarity, it is a coincidence. (In fact, 99.99% of this article is true. In addition to some art processing, if it is called "art". I just don't want my lovely and respectable colleagues found that I am behind them, they are in front of them, their crow mouth and TMD.)