Добавить юзера c обычной п одпиской

Стань тестировщиком сегодня
Level 1
Definitions of testing and quality

Dear student! Our course will help you to understand the purpose of software testing process better in terms of the existing project roles, related problems and corresponding to them artifacts.

What I am saying - practice, only practice and practice again is needed to become QA. Without a real application, all your knowledge
worth nothing!
I will give you many tests and practical tasks. Then I will ask a Master to check out your answers
carefully,
very carefully!
After training, you will be able to prepare, plan and carry out the testing process by yourself. Also, you will be able to deal with preparing test environments and sets of test data, to make up descriptions of defects and reports on testing on your own.
To provide support for the processes of software development and project management.


Too many big words! Better tell us simply, what is it - QA?
As the ISO 9000:2015 standard tells us:
"Coordinated activities on directing and control of an organization with regard to quality", and in the note it is said, that it "generally includes a development of policy and purposes in a sphere of quality, quality planning, management, assurance and improvement"

Hey, geeks! And what about the QC? I hear all the time about the QA and QC, but what is QC and how "it" differs from QA?
Quality Control is the proccess of finding defects in product aiming to improve it. Goal of Quality Control is to maintain quality of product in real time. Quality Control is oriented on the product developing in real time
Quality Assurance includes Quality Control along with other processes to improve the quality of work for a company.
In other words, Quality Assurance guarantees correctness of a process and predictable results, while Quality Control guarantees, that the product satisfies a certain set of requirements.
Let's make it clear: what is quality?
I believe, that quality is the absence of errors!

-
Mercedes-Benz brand is a recognized manufacturer of high quality autos, but here this is not about errors.
-
Apple iPhone smartphone is a extremely popular. At that, it cannot be called "ideal"
Then I state, that quality is the satisfaction of a customer. Booya?!

Good Customer is always unsatisfied

Then I say this: quality is compliance with customer's expectations. They do only what they have to, and don't do what they aren't supposed to.

ISO standard gives the following definition: "Quality of software is the ability of software product to satisfy specified or supposed requirements under given conditions."
However, I agree, that the absence of errors is a quality factor (Q-factor). By the way, let's talk about Q-factors in more details
Q-factor is a requirement for software, which is usually not described in a contract with a customer, but nevertheless is desirable, raising quality of software.
R2D2, what Q-factors do you know?

-
Reliability — if application is running smoothly, without «hangup» or throw exception;
-
Maintainability - how difficult it is to modify software to satisfy new requirements. It also implies that software must be well documented, readable, and have some reserve for resources usage growth (memory, CPU);
-
Practicality - the software utility must be clear from its interface and documentation;
-
Efficiency - how rational software uses resources (memory, CPU) while performing its tasks;
-
Performance — how the response time of software changes upon connection of many users;
-
Mobility - how easily software adapts to other environment: to different architecture, platform, operating system or its version;
-
Functionality — whether application does what it was made to do;
-
Usability - defines how software is simple and comfortable to use. First of all, it applies to user's interface;
-
Security - how firm software is protected from hacking.


Holy moly! How many factors! I believe we will meet them again, when we will talk about types of testing
Absolutely! The terror they perform gives me new forces for fight. Now, I want to ask - where does Quality come from?
-
Product Quality is governed only by Process Quality of its development
-
Process Quality is governed only by Cultural Level of the development in Company
-
Product Quality is governed by applying methodology and approach to the management of the development / testing process

Mmkay. We pussyfoot around all the time. But still, what is testing?
Brilliant Glenford Myers in his book "The Art of Software Testing" gives the following definition:
Software testing is a process, or a series of processes, designed to make sure computer code does what it was designed to do and that it does not do anything unintended.
(classics)

You are old tin can! How can you give people the definition from 1979!?Those times, there was only the dial up Internet. It is useless junk!
Old means experienced! It is still valid!
After such a definition, I will reprogram you in a bowl washer!

Validation in engineering of testing is the process of checking that a software system meets specifications and that it fulfills its intended purpose
I see, you are tired to study ins and outs of testing. And offences started instead of wisdom to apply!
It is necessary for you to complete a task. For mental forces to recover
Imagine the form of validation of input value.
Objective: if input is an integer number from 0 to 9 (included), the form must return
VALID


Is it something like this?
Right. Don't hurry up, think it over. We need to check all possible correct and incorrect operations. Now, main hope is logic, but with the comprehension of testing power, you will begin to look through any test from one glance.
Here, each test is an input number. For instance, you enter 3, and it falls in the range from 0 to 9. The test is passed, if the system returns you VALID. Then you enter 342, and the form doesn't give you VALID. In this case, the test is also passed. The idea of the task is to create such minimal set of tests, which will allow you to verify for 100% that the system works correctly. And also to account all possible input-output pairs without go through all possible numbers at the same time

I missed the point. How to perform tests? This is just a painted form, and it even doesn't work. What should I do with it?
Now it is more clear. I need to input data, until all cases give me a correct answer. Thank you, Master!
Hurray! You did it. This is your beginner's luck. Well, do you feel yourself a tester?
Good luck! In regards to the definition of testing: pay attention that
Testing is a process of troubleshooting for a running software.
Conclude from that, that troubleshooting is not the main purpose of a tester.
Let's talk a bit more about errors. Error, or defect in a computer program that causes it to produce an incorrect, or to behave in unintended way, resulted in failure of testing, is called bug.
Majority of bugs arise from errors made by developers in initial code, behavior logic, or design. Everything about bugs You will learn on the 5 level of QA Academy course.
I think I'll agree with you. After such a work. And I'll give a generalized definition:
Testing is a verification process of compliance of the stated requirements for a product and actually implemented functionality


In addition, I would like to mention the definition given by Paul C. Jorgensen: "Testing is obviously concerned with errors, faults, failures, and incidents. A test is the act of exercising software with test cases. A test has two distinct goals: to find failures or to demonstrate correct execution"
The advantage of this definition is that testing is focused on requirements examination
So, let's finally specify the definition:
Testing is a verification process of compliance of the stated requirements for a product and actually implemented functionality, made by observations of product's functioning in artificial conditions with certain number of tests according to demands of a business task.
And don't forget about common sense! The main axiom of a tester - everybody makes mistakes. Programmers, analysts, compilers of requirements and documentation. Everything must be checked!
So, the evolution of testing idea looks as follows:
-
A process of a program execution aiming to find errors. [G.Myers. The Art of Software Testing, 1979]
-
An observation process on a program execution in special conditions and based on this ranking of its aspects. [ANSI/IEEE standard 610.12-1990: Glossary of SE Terminology. NY:IEEE, 1987]
-
This is not an action. It is the intellectual discipline that aims to obtain reliable software without spending much effort on its check. [B. Beizer. Software Testing Techniques, Second Edition. NY:van Nostrand Reinhold, 1990]
-
Technical examination of a program to obtain the information about its quality in terms of a certain range of concerned parties. [С. Kaner, 1999]
-
Verification of compliance of intended and actual software behavior using the final set of tests chosen in a certain way. [IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004]
2004
1999
1987
1980
1990
Okay, eventually we have found out what is testing. I understand now, that the purpose of testing is much broader rather than simple search for defects! But I have some specific questions. And your theory doesn't answer them.

Imagine, I have found a certain number of errors. How to understand: N found bugs - is it much or not? For instance, 3 errors at the testing of the previous form?

Excellent question. It excited more than one generation of robots. They say, that R1F1 burnt all its transistors trying to find the answer. You should think about it.
Have you thought about it? Now check the answer .
It's important to think for yourself before you find out what R2D2 thinks about this.
The answer will appear in 60 seconds
The number of errors found is not a measure of testing. Finding errors is certainly the most important thing in testing. But testing will be completed when you have covered the entire project with tests, not when you have found a certain number of errors.
There is a question from the philosophy of testing: why our customers find errors, if we have spent so much time on testing it?!