📜 ⬆️ ⬇️

The tester is responsible for everything


So explain about testing at Edison .

Recently, I participated in vocational guidance camp for students. I was asked to tell about Habr and about what IT specialties are and what will happen in the future.

How can the student tell who the tester is and why the testing process is needed?
')
I somehow got out, but the feeling of incompleteness remains to this day.
On Habré, they are smartly able to explain why the grass is green or why the programmer is a superhero . If you were explaining to a 10th grader, who is a tester, how would you describe this process?

(There is a wonderful book by Seymour Papert “A Revolution in the Consciousness: Children, Computers, and Fruitful Ideas,” which describes how to form good debugging strategies in children's thinking, but this book deserves a separate article ->)

"It is necessary to frighten" - the experienced ones advised me. Well, I made the most juicy programmer's mistakes.

Error number 1
July 22, 1962. The failure of the launch of the first American satellite to Venus "Mariner 1" happened because of an error in the program in the Fortran language - the programmer put a full stop in the loop operator instead of a comma:

correct operator DO 50 I = 12,525
operator with error DO 50 I = 12.525

The smart compiler did not generate an error, but interpreted this construction as an assignment operator. As a result, the station weighing 202.8 kg during take-off after 293 seconds rocket deviated from the course and an accident occurred.

But this is a lie.

There is a legend (however, unconfirmed) that a similar error was in one of the NASA programs for calculating the orbit, but this program was used in the Mercury project, not Mariner, and this error was corrected before the ship was launched.

In fact, Nasa stated:
The error appeared when manually translating the symbol in the specification of the guidance program. The writer missed the macron or overline in image which means "n-th smoothing of the value of the derivative of radius R over time". Without the smoothing function denoted by the macron, the program perceived normal small changes in speed as very serious, which caused unnecessary corrections that knocked the missile off course. Then the rocket was destroyed by the course safety officer.

But this is (possibly) a lie. [proof - "The most expensive hyphen in history" ]
Who is guilty? Testers overlooked.



More about errors interestingly and in detail written in this book:
image
The network has Chapter 2

The main difficulty with schoolchildren is that they do not have their own epic files and it’s not easy to appeal to their personal experience, all that remains is to resort to other people's stories or stories, and then direct the discussion of the testing topic.
Old school story about a born tester
Perfect tester

image
Any employee of a medium-sized IT company will confirm that Thursday is the most boring day of the week. In fact, on Monday everyone rakes in the mail that came in over the weekend, they quarrel with suppliers of coffee and water for the cooler, and smoke on the stairs, telling each other jokes to combat sleep and hangover. On Tuesday, the tasks are distributed, the forces are fresh, and the code is written in one breath. On Wednesday, the amount of useful work for a unit of time reaches its climax ... Friday, naturally, passes under the sign of waiting for someone's birthday or just a beer party, so Kwaka begins in the morning, and most people do not even pretend to work. Those few who find it difficult to imitate activities keep Exler or RSDN open in the fifth window of the explorer so that the address bar is not visible in the taskbar.

But Thursday is the moment of crisis. The transition from work to pleasure. It’s still a bit early to read movie reviews, and work doesn't give a thought about tomorrow's Friday.

This Thursday was no different from ordinary. At about 12 o'clock I began to feel an unbearable desire to find a reason to deviate. Therefore, when the question of the chief “Do you want to test testers?” Surfaced in ICQ, I did not think for a long time.

I didn’t intend to strain myself, the benefit of the “interlocutors” was quite enough without me - the technical director, the marketing director and the main (he’s the only) system administrator.

Filling the fourth Nescafe Gold mug with water from the cooler today (our people call this liquid with resin, for color, taste and texture), I talked to the directors and found out that, first, we have one place, and second, candidates two. The director of marketing explained such a high competition with a competent recruiting campaign (he himself designed the layout of the advertisement for our site), and the technical director explained this by slowing the fall in the dollar exchange rate. Since we are working for customers who do not speak Russian, our employees follow the dollar exchange rate more closely than the Redmond guys are following the Microsoft stock price.

Pouring coffee, we moved to the conference room.

The first candidate was a pretty girl in jeans and a sweater. I ignored her resume, drawing attention only to the mention of some certificate of Quality Assurance Engineer. During the interview, the girl behaved quite confidently, now and then commemorated the Transition Phase, CMM, ISO9000 and three years of experience. All this time I looked out the window and thought that she would sit in a room across the corridor, and that I would not be able to use the usual lexicon in explaining the subtle points of the test plan.

The second was a fellow student, in whose eyes the most urgent need for money was read. This time I took part in the interview and found out that he is a brilliant programmer and web designer, that he even has his own website, and that he now writes an IDE for PHP on MAC. I would find out why he prefers MAC, but caught the eye of the technical director and curtailed the conversation.

After the candidates left, we argued for a few minutes about the problems of girls in purely male groups and the problems of excessive ambition of the Xakep magazine, and agreed that “now at least there will be less mats” - the girl was the obvious choice. We were already headed for the exit, when a technical mobile phone rang. Having exchanged a pair of remarks with his interlocutor, the technical man squeezed the microphone with his hand and in a whisper informed us that another candidate was waiting at the entrance to the office. We looked at each other. The decision was already made, but somehow it was inconvenient to give a turn from the gate to a man who was not too lazy to drag us to the outskirts. The technical order asked the security to let in, and we returned to the conference room.

The third candidate looked a little younger than my years. Smiling, he introduced himself and sat down in a chair, throwing the folder on the table. The marketing director rummaged in his papers and asked:

- Sorry, I can't see your resume. Did you send it to us?

“I sent it,” answered the candidate, looking around with interest, “But your mail server is buggy.”

It was not a good start. We are still an IT-company, and we are careful to ensure that everything works for us. If he does not have a resume, let him say so and not waste our time. With some resentment, the technical director asked:

- Maybe the problem is still not in the server? Is there anything to do with the connection, or did the mail client fail? By the way, you didn’t send me mail.ru?

“No,” answered the candidate, continuing to look around. A table lamp caught his attention. Clicking a switch a couple of times, he said: “Look!” - and crawled under the table. The lamp flashed and burned out. The candidate climbed out from under the table and continued:

- If you leave the switch in an intermediate position, and then plug in the power cord, the lamp will blow!

- Thank. Maybe you brought a resume with you? - I asked.

“Yes, of course, here it is,” he filed an A4 sheet, “and this is a printout of your mail server's response,” he submitted another sheet.

The sysadmin with interest took him out of my hands and ran his eyes:

- But! .. And how? .. Strange ... I am now! - with these words, he almost ran out of the room.

Directors in the meantime were studying resumes. I looked at the candidate. He turned back and tuned something in the chair. It was the usual five-arm office monster on wheels, a distributor of scoliosis and salt deposits. Finally, something clicked in the chair, and the potential tester was on the floor. This did not seem to upset him at all:

- I knew it! Defect in the pneumatic shock absorber adjustment system. If you bend the handle up and then sideways ...

“Bring him a chair,” the technical director asked me, and I left the room.

In the corridor, I met a sysadmin. There was an expression on his face as if he found a beer in one of the bottles for a cooler.

- What's up with the mailer? - I asked.

- You will laugh. In his letter, the MIME-boundary violates RFC 2046. It's okay, but our server crashes when receiving such text! Change at least one character - everything will go fine. I looked at the logs - the server crashed four times on Monday. Apparently, precisely because of this comrade.

Returning, we found the technical director for trying to push the blinds. The candidate enthusiastically explained exactly how he managed to wedge them. The marketing director looked at him almost with hate. For some five minutes, this miracle managed to break the lamp, chair, blinds and demonstrate the bug in our mailer.

- But your table is good, solid! - said the candidate. In the words of Ozzy Osbourne, “I began to realize that the time to say goodbye was coming.

- We will contact you, bye.

- Can I call you? - asked this demon of destruction.

- NOT! - answered the technical director in such a voice that the candidate instantly disappeared.

Having poured some more coffee, we discussed the results of the interview. Alas, the girl did not pass.

The QA Engineer certificate will not replace natural talent - with such a guy in the team, we simply will not be able to pass the software if it has at least one bug.

Tomorrow is Friday, it means - meeting a new member of the team. Beer and Billiards in the Lost Cluster. Perhaps, I'd better go to Beer.NET - let it be pop, but you never know what he wants to test in the bar ...

Edison test slides and text


Software development usually begins with the collection of requirements and the preparation of technical specifications. Here the cost of corrections is minimal. It is much easier to change a couple of paragraphs than to rewrite part of the system during operation. Excluding alterations that lead to the failure of delivery, testing requirements pays off at the start.

Design


The technical task answers the question “what are we testing?”. At the design stage of tests, an abstract test plan is first prepared that sets the strategy: applicable types of testing; when, how and in what environment it will pass; quality engineer connection condition. Then specific case studies and scenarios are described that elegantly identify system failures.

Stand



Dedicated test bench is necessary for long-term development, requiring the smooth functioning of the latest stable version. The changes give rise to the next, unstable one, which cannot be used without a thorough check. For complex projects, several stands are needed: the main one is the server for the productive system, the second is for command completion, the third is the environment for running the tests, the fourth is for demonstrating intermediate results.

Run



When the first (or alpha-) version appears, the runs of the prepared tests begin. This version can already be transferred to potential users for comment. As a result, the system has new features, and errors are carefully documented and sent to engineers.

To make the changes do not affect the performance of the application, the test is carried out again.
If manual testing distracts too many resources, it makes sense to automate it. This will require additional investments, but then the routine will be performed many times, during off-hours and completely free.

results



Internal testing results are discussed with key employees. It is decided which mistakes need to be fixed immediately, and which - to the next release.
Subsequently, the described verification steps may be repeated. This is called a test loop.
A preliminary or beta version is not yet considered a finished product, but is already allowed for trial operation. As a rule, at this time at least 95% of the functionality is implemented. After completion of acceptance or final testing, the final version is released.

Selection

When choosing specific types of testing, it is important to understand the consequences of rejecting others.

Minimum package



Testing requirements can be replaced by the involvement of the most experienced architect at the very beginning of the project. Without internal testing at the acceptance will be a "raw" or non-working product, so it is necessary. A complete failure of the minimum package will result in a fatal loss of quality.

Sufficient package



Complementing the previous package, load testing will confirm the framework in which the system is productive. Here we determine the required number of servers in the cloud, check the peak number of requests to one server and database, the load on the hard disk, RAM, and so on.

We perform security testing to avoid hacker attacks, such as virus infection, theft of money, passwords and personal data.

Testing the interface and ease of use will exclude your audience from competing.

Full package



If it is required to ensure increased reliability, we add automatic and smoke testing to a sufficient package. To carry out daily runs, we create software tests for each module of the system. The quality of the code is especially important when different specialists work with the same file. We regularly check source codes and conduct refactoring so that the code is understandable to the new team member.


I also have a story about the Genesis Project after which you can start a discussion with schoolchildren about the importance and role of competent development and testing.

Project Genesis
Yuri Nesterenko

Project Genesis
(from corporate correspondence)

(This story is translated into English and Bulgarian)

CEO Jehovah
from the head of the marketing department Gabriel

Research conducted by our department in the framework of the project Genesis,
have shown that the next market has the best market prospects
configurations:
Planet: 1 pc.
Radius: 3000 km
Gravity: 0.5g
The ratio of land / water: 1: 1
Temperature: +24
Atmosphere: oxygen
Sea: fresh. water
Rivers: milk, honey
Fauna: herbivore
Periphery:
luminaries 2 pcs. (day / night), speed: 0.0007 RPM (1 vol / day)

“Send to the department of strategic planning for the preparation of TK - Jehovah”

CEO Jehovah
from the head of the strategic planning department Michael

In order to reduce the cost of the system, I propose to power both luminaries.
from a single energy source, and replace oxygen with nitrogen.

"At least 50% of the oxygen must be left, otherwise the user will suffocate -
beginning Dep. testing and technical support Rafail "

“Enough and 25% - Jehovah”

CEO Jehovah
from the head of the systems engineering department of Lucifer

During the work on the project Genesis (stage "Let there be light") identified
following difficulties: we have no compact source
uninterrupted luminescence with a distributor for two lights. I suggest
use a standard red dwarf source, and in
As a night light, use a mirror.

“Better is a yellow dwarf.” By cost, it is not much more
but it looks much more impressive - early. market Division Gabriel "

“This is a server source. Why does he need a single user
the planets? - Lucifer

“What the user needs and what does not, the advertising department will explain to him - Gabriel”

“Lucifer, deal with your competence. Affirm
"Yellow dwarf" - Jehovah "

"By the way, with the brightness that gives a yellow dwarf, you can instead
mirrors to put an ordinary planetoid - Mikhail "

“I Agree - Jehovah”

CEO Jehovah
from the head of the systems engineering department of Lucifer

After making changes to the TOR, the following difficulties arose:
the mass of the uninterrupted luminescence source far exceeds the mass
planets, so the source refuses to rotate around
the planets. Instead, the planet rotates around the source. Besides
In addition, due to the power source there is a steady excess
temperature above specified in TZ (about 2 orders of magnitude). If you increase
distance to the source, significantly increase the size of the system.

"Dimensions - it is even prestigious, but the rotation of the planet around
Peripheral device may cause the user to feel
inferiority. Maybe change the gravitational constant? - Gabriel

"If you change the gravitational constant, there will be problems with
compatibility - Michael "

“Yes, what does it matter to the user, what is around what is spinning? Let be
the advertising department will come up with some theory of relativity - Jehovah "

CEO Jehovah
from the head of the systems engineering department of Lucifer

After increasing the orbit radius, attempts to disperse the planet to the indicated
in TZ speeds lead to the collapse of the system (the planet flies into space).
By the way, with the night luminary the same story.

“It doesn't matter what happens in the system - it is important what the user sees.
Why not make the planet rotate around its axis? Then
the user will feel that the sun and the moon are turning around
with the frequency indicated in TK - Gabriel "

"And the user will not understand us?" - Jehovah

“If he makes out, the project will have already been commissioned by that time — Gabriel”

“I Agree - Jehovah”

CEO Jehovah
from the head of the department of testing and technical support Raphael

Primary testing of the system revealed the following defects:
1) Steady overheating is observed
2) The axis of rotation deviated by 23 degrees. from the vertical, owing to
what caused cyclic temperature anomalies
3) The capacity of the rivers does not match the design
4) No herbivorous fauna
5) The orbit is unstable, the planet tends to fall in the sun.

CEO Jehovah
from the head of the systems engineering department of Lucifer

1) What did you want with this land / water ratio? For optimum
cooling is needed somewhere 1: 3 - 1: 4.
2) We are working on it
3) Because milk turns sour and honey is sugared
4) Herbivorous fauna needs grass, but it does not grow in such heat and
without water. I propose to put water on the rivers, it will also help to solve
problem 3.
5) As a gravitational counterweight, we will bring it to the outer
orbit another planet.

“There is nowhere to compress the land, it means that we will have to increase the area of ​​the seas. BUT
this is an increase in volume and gravity. Yes, even an extra planet ... - Michael "

“Nothing, the user will endure. Excess planet will issue as feature. But
we have already announced milk and honey. At least in the most notable rivers need
leave - Gabriel

“I remind you that the deadlines are tight, but your horse has not rolled yet. By the way
designers still have not submitted a draft horse, all with dinosaurs
are busy. Who needs these dinosaurs? - Jehovah

"Actually, the dinosaur user likes - Gabriel"

“Okay, but so was the horse — Jehovah.”

CEO Jehovah
from the head of the department of testing and technical support Raphael

1) Besides the unresolved problems with the axis, the planet now tends
to fly into space.
2) Herbivorous fauna is no more.

CEO Jehovah
from the head of the systems engineering department of Lucifer

1) Let's make another counterbalance, now in internal orbit.
2) And the fauna multiplied, devoured all the grass and breathed

“How many counterweights do you need? - Michael

"In general, after calibration work, it was possible to stabilize the system
on nine - Lucifer "

“I understand correctly? Instead of one planet, the user will receive 9 ?! - Jehovah

"So what? 8 of them are still unsuitable for life - Lucifer "

“And the size of the system? - Jehovah

“It’s not necessary for the user to know them. Half of these planets without
telescope and not see. I propose to supplement the User Guide
11th commandment: "Do not invent the telescope" - Gabriel "

"Do not. Then they will invent it for sure - Jehovah. ”

"By the way, after increasing the radius of the orbit, the brightness of the night star
fell below the project minimum. I suggest to install instead
his mirror is Raphael

“Where have you been before?” We just balanced the system! Want to
?! — »

« ! . ,
, ! — »




, ? , .
, . ,
+24 , - ,
. , .
, , ,
. ,
,
. , -
will be.

« — »

() YuN, 2002
yun.complife.info


Who can share personal experience when he told what testing is - write in comments.

About company:
Software design
Software development: stages and principles
The tester is responsible for everything
Software support
How yoga kodit and live helps: personal experience
We teach employees English: the experience of Edison
Mental Labor and Physical Education

Source: https://habr.com/ru/post/271495/


All Articles