Test Vane
Test Vane
Software Testing
What is difference between QA, QC
and Software Testing?
Software Testing
Quality Assurance (QA): QA refers to the planned and
systematic way of monitoring the quality of process which is
followed to produce a quality product. QA tracks the
outcomes and adjusts the process to meet the expectation.
Software Testing
When to start QA in a project?
Software Testing
A good time to start the QA is from the beginning of the
project startup. This will lead to plan the process which will
make sure that product coming out meets the customer
quality expectation. QA also plays a major role in the
communication between teams. It gives time to step up the
testing environment. The testing phase starts after the test
plans are written, reviewed and approved.
Software Testing
What are verification and
validation and difference
between these two?
Software Testing
Verification: process of evaluating steps which is followed up to
development phase to determine whether they meet the specified
requirements for that stage.
Software Testing
The difference between Retesting and Regression testing are below:
Retesting is done to verify defects fixes where as regression is perform
to check if the defect fix have not impacted other functionality that
was working fine before doing changes in the code.
Retesting is planned testing based on the defect fixes listed where as
regression is not be always specific to any defect fix. Also regression
can be executed for some modules or all modules.
Retesting concern with executing those test cases that are failed
earlier whereas regression concern with executing test cases that was
passed in earlier builds.
Retesting has higher priority over regression, but in some case retesting
and regression testing are carried out in parallel.
Software Testing
Explain bug life cycle
Software Testing
Bug Life Cycle:
When a tester finds a bug .The bug is assigned with NEW or OPEN
status.
The bug is assigned to development project manager who will analyze
the bug .He will check whether it is a valid defect. If it is not valid bug is
rejected, now status is REJECTED.
If not, next the defect is checked whether it is in scope. When bug is
not part of the current release .Such defects are POSTPONED
Now, Tester checks whether similar defect was raised earlier. If yes
defect is assigned a status DUPLICATE
When bug is assigned to developer. During this stage bug is assigned a
status IN-PROGRESS
Once code is fixed. Defect is assigned with FIXED status.
Next the tester will re-test the code. In case the test case passes the
defect is CLOSED
If the test case fails again the bug is RE-OPENED and assigned to the
developer. That’s all to Bug Life Cycle.
Software Testing
What is severity and priority of
bug? Give some example.
Software Testing
Priority: concern with application from the business point of view.
It answers: How quickly we need to fix the bug? Or How soon the bug
should get fixed?
Severity: concern with functionality of application. It deals with the
impact of the bug on the application.
Software Testing
How much the bug is affecting the functionality of the
application?
Ex.
High Priority and Low Severity:
Company logo is not properly displayed on their website.
High Priority and High Severity:
Suppose you are doing online shopping and filled payment
information, but after submitting the form, you get a message
like "Order has been cancelled."
Low Priority and High Severity:
If we have a typical scenario in which the application get
crashed, but that scenario exists rarely.
Low Priority and Low Severity:
There is a mistake like "You have registered success" instead of
successfully, success is written.
Software Testing
What is the role of QA in a project
development?
.
Software Testing
QA stands for QUALITY ASSURANCE. QA team assures the quality by
monitor the whole development process. QA tracks the outcomes and
adjusting process to meet the expectation.
The role of Quality Assurance is discussed below:
QA team is responsible for monitoring the process to be carried out for
development.
Responsibilities of QA team are planning testing execution process.
QA Lead creates the time tables and agrees on a Quality Assurance
plan for the product.
QA team communicated QA process to the team members.
QA team ensures traceability of test cases to requirements.
Software Testing
What is the difference between
build and release?
.
Software Testing
BUILD: is a number given to installable software that is given to testing
team for testing by the development team. Build number assigned are
incremental and sequential.
RELEASE: is a number given to installable software that is handed over
to customer by the developer or tester.
The information of build, release and version are displayed in software
help page. Using this build and release customer can let the customer
team know which release version build thet are using.
eg "9.4.123.2" (Release Number.Version Number.Build Number.Patch
Number)
Software Testing
What is the basis for choosing the
SDLC model for development of
software. What models do you
know?
.
Software Testing
The choice of SDLC depends on the various factors, how stable are the
requirements:
When the requirements are very clearly know, documented and not
subject to change then we can follow the waterfall model.
Most of the companies follow the V mode for the development
because this model includes both verification and validation activities
and testing is involved in earlier phase.
Iterative model can be used to build application where requirement
changes after a period of times or application features or added on
with smaller release. When the client is ready for the delivery of the
product in parts or phases.
Software Testing
Explain bug leakage
and bug release.
.
Software Testing
Bug Leakage: When customer or end user discovered a bug which
can be detected by the testing team. Or when a bug is detected
which can be detected in pervious build then this is called as Bug
Leakage.
Bug release: is when a build is handed to testing team with knowing
that defect is present in the release. The priority and severity of bug is
low. It is done when customer want the application on the time.
Customer can tolerate the bug in the released then the delay in
getting the application and the cost involved in removing that bug.
These bugs are mentioned in the Release Notes handed to client for
the future improvement chances.
Software Testing
What is regression testing?
Software Testing
Regression Testing: When changes in the code of the software are
made to fix the previous bug. Then testing needs to be perform to
ensure that it will not generate a new bug in the application and it
works as specified and that it has not negatively impacted any
functionality that it offered previously. Regression Testing is important
because of following reason:
That the application works even after the alteration in the code were
made.
The original functionality continues to work as specified even after
doing changes in the software application.
The alteration to the software application has not introduced any new
bugs.
Software Testing
What is alpha and beta testing?
Software Testing
Alpha testing: is performed by the IN-House developers. After alpha
testing the software is handed over to software QA team, for
additional testing in an environment that is similar to the client
environment.
Beta testing: It is performed by end user. So that they can make sure
that the product is bug free or working as per the requirement. IN-
house developers and software QA team perform alpha testing. The
public, a few select prospective customers or the general public
performs beta testing.
.
.
Software Testing
What are the attributes of good
test case?
Software Testing
The following are the attributes of good test case.
- A good test has a high probability of finding an error. To find the
maximum error, the tester and developer should have complete
understanding of the software and attempt to check all the conditions
that how the software might fail.
- A good test is not redundant. Every test should have a different
purpose from other, otherwise tester will repeat the testing process for
same condition.
- A good test should be neither too simple nor too complex. In general,
each test should be executed separately. If we combine more than
one test into one test case, it might be very difficult to execute.
Sometimes we can combine tests but it may hide some errors.
.
.
.
Software Testing
What does the test strategy
include?
Software Testing
The test strategy includes introduction, resource, scope and schedule
for test activities, test tools, test priorities, test planning and the types of
test that has to be performed..
.
Software Testing
Mention the different types of
software testing?
Software Testing
1. By knowledge of the internals of 4. By positivism of test scenarios
the software - Positive testing
- Black box testing - Negative testing
- White box testing 5. By degree of isolation of tested
- Grey box testing components
2. By the object of testing - Component testing
- Functional testing - Integration testing
- UI testing - System (end-to-end) testing
- Usability testing 6. By degree of automation
- Localization testing - Manual testing
- Load/performance testing - Semi-automated testing
- Security testing - Automated testing
- Compatibility testing 7. By preparedness
3. By time of test execution - Formal/documented testing
- Before any release (alpha - Ad hoc testing
testing)
- After a beta release (beta
testing)
.
Software Testing
What is Test case?
Software Testing
A test case is usually a single step, and its expected result, along with
various additional pieces of information. It can occasionally be a series
of steps but with one expected result or expected outcome. The
optional fields are a test case ID, test step or order of execution
number, related requirement(s), depth, test category, author, and
check boxes for whether the test is automatable and has been
automated. Larger test cases may also contain prerequisite states or
steps, and descriptions. A test case should also contain a place for the
actual result. These steps can be stored in a word processor document,
spreadsheet, database or other common repository. In a database
system, you may also be able to see past test results and who
generated the results and the system configuration used to generate
those results. These past results would usually be stored in a separate
table.
Software Testing
What is Test Suite?
Software Testing
The most common term for a collection of test cases is a test suite. The
test suite often also contains more detailed instructions or goals for
each collection of test cases. It definitely contains a section where the
tester identifies the system configuration used during testing. A group of
test cases may also contain prerequisite states or steps, and
descriptions of the following tests.
Software Testing
What is Ad Hoc testing?
Software Testing
It is a testing phase where the tester tries to break the system by
randomly trying the system’s functionality. It can include negative
testing as well.
Software Testing
What are SDLC phases?
Software Testing
There are following six phases in every Software development life cycle
model:
Software Testing
What is a Review?
Software Testing
A review is an evaluation of a said product or project status to
ascertain any discrepancies from the actual planned results and to
recommend improvements to the said product. The common
examples of reviews are informal review or peer review, technical
review, inspection, walkthrough, management review. This is one of the
manual testing interview questions.
Software Testing
What is compatibility testing?
Software Testing
Compatibility testing is a part of non-functional tests carried out on the
software component or the entire software to evaluate the
compatibility of the application with the computing
environment. It can be with the servers, other software, computer
operating system, different web browsers or the hardware as well.
Software Testing
Explain performance testing?
Software Testing
It is one of the non-functional types of software testing. Performance of
software is the degree to which a system or a component of system
accomplishes the designated functions given constraints regarding
processing time and throughput rate. Therefore, performance
testing is the process to test to determine the performance of software.
Software Testing
What is meant by functional
defects and usability defects in
general? Give appropriate
example.
Software Testing
Let’s take the example of ‘Login window’ to understand functionality
and usability defects.
On the other hand a usability defect is when the user gives a valid user
name, but invalid password and clicks on login button. The application
throws up an error message saying “Please enter valid user name”
when the error message should have been “Please enter valid
Password.”
.
Software Testing
What is Code Coverage?
Software Testing
An analysis method that determines which parts of the software have
been executed (covered) by the test case suite and which parts have
not been executed and therefore may require additional attention.
.
Software Testing
What is Code Inspection?
Software Testing
A formal testing technique where the programmer reviews source
code with a group who ask questions analyzing the program logic,
analyzing the code with respect to a checklist of historically common
programming errors, and analyzing its compliance with coding
standards..
Software Testing
What is End-to-End testing??
Software Testing
Testing a complete application environment in a situation that mimics
real-world use, such as interacting with a database, using network
communications, or interacting with other hardware, applications, or
systems if appropriate.
Software Testing
What is Glass Box Testing
Software Testing
A synonym for White Box Testing.
Software Testing
What is Software Requirements
Specification?
Software Testing
A deliverable that describes all data, functional and behavioral
requirements, all constraints, and all validation requirements for
software.
Software Testing
What is Test Plan??
Software Testing
A document describing the scope, approach, resources, and
schedule of intended testing activities. It identifies test items, the
features to be tested, the testing tasks, who will do each task, and any
risks requiring contingency planning.
Software Testing
What is difference between
Smoke testing and Sanity Testing?
Software Testing
The difference between smoke and sanity testing is described below:
Sanity testing is performed when new build is released after fixing bugs
where as smoke testing is performed to check the major functionalities
of the application.
Smoke testing is performed earlier where as sanity is performed after
the smoke testing.
Sanity testing is narrow and deep approach of testing and smoke
testing is focused testing based on major functionalities.
Software Testing
Практическо въведение в софтуерното тестване
CSCB800, четвъртък 09:40-11:00, зала 702, II корпус
▪За мен
▪За вас
▪За курса
▪Какво прави един тестер
▪Качества на добрия тестер
Operations
Quality Assurance
Project Coordination
Testing
Travelling
Skiing/Biking
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -10
Въпрос
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -11
TESTER = QA?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -12
Въпрос
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -13
Какво представлява тестването?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -14
Какво е контрол на качеството?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -15
Защо е важно да се тества?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -16
Защо е важно да се тества?
▪Всички грешим
▪Някои грешки са фатални
▪Загуба на пари и доверие
▪Доволни клиенти
▪Предимство пред конкурентите
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -17
Какви са необходимите качества на
добрия QA?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -18
Качества на добрия QA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -19
Качества на добрия QA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -20
Качества на добрия QA
▪ Комуникация
▪ Вашият колега разработчик е допуснал фатална грешка и
функционалността, която тествате, не работи. Какво точно ще му кажете?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -21
Качества на добрия QA
▪Търпение
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -22
Качества на добрия QA
▪Търпение
▪Вече е минала една седмица, а вашият колега разработчик все още не е
оправил проблема, за който говорихте...
▪Не може да продължите тестването без да го оправи. Усещате ли
напрежение? Какво ще направите?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -23
Качества на добрия QA
▪Желание за учене
▪Любопитство
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -24
Качества на добрия QA
▪Приоритизиране
▪Как да преценя кое да свърша първо?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -25
Качества на добрия QA
▪Организация на работата
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -26
А сега?
▪Какво ще направите?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -27
Качества на добрия QA
▪Адаптивност! Но защо?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -28
Въпрос
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -29
Вдъхновението QA
▪Тестването е предизвикателство
▪С тестването можеш да погледнеш продукта от различни страни, можеш да
бъдеш клиент, разрушител или вдъхновител
▪Доброто тестване е свързано с доволни клиенти
▪Можеш да оказваш влияние и да променяш
▪Тестването ни учи да бъдем много организирани, подредени и
дисциплинирани
▪Предизвикателство е да покрием най-важната функционалност, която може
да даде най-много дефекти и да открием най-добрия тест
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -30
Вдъхновението QA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -31
Вдъхновението QA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -32
Въпроси?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -33
Thank you.
Contact information:
Yana Damyanova
E-mail: [email protected]
Какво е тестване, термини и процеси
Яна Дамянова, SAP Labs Bulgaria
11.Март.2021
PUBLIC
За какво ще си говорим
▪Преговор
▪Какво е тестване и кой тества?
▪Ръчно и автоматично тестване
▪Митове в софтуерното тестване
▪Verification & Validation - разлики
▪Testing, Quality Assurance и Quality Control
▪Audit и Inspection / Testing и Debugging
▪Тестване и стандарти
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -36
Преговор
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -37
Въпрос
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -38
Въпрос – как се тества асансьор?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -39
Въпрос – как се тества асансьор?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -40
Въпрос – как се тества асансьор?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -41
Какво представлява тестването?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -42
Защо тестваме?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -43
Кой участва в тестването?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -44
Кога да започнем да тестваме?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -45
Waterflow
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -46
Agile
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -47
DevOps
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -48
Задача
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -49
Задача
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -50
Кога да започнем да тестваме?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -51
Кога да спрем да тестваме?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -52
Ръчно и автоматизирано тестване
Ръчно:
▪Когато тестването не може да се автоматизира
▪Тестване без скрипт или тул за тестване
▪Тестерът гледа софтуера от гледната точка на краен потребител
▪Има различи етапи и фази
▪Тестерите използват сценарии, планове, тестови случаи, за да тестват
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -53
Ръчно и автоматизирано тестване
Автоматизирано:
▪Тестване със скрипт или тул за тестване
▪Автоматизиране на ръчни стъпки
▪Ползва се за повтаряеми стъпки, които са били изпълнявани ръчно
▪Изпълнява се, за да се провери издръжливостта на продукта (load, stress,
performance testing)
▪Пестят се време и пари, повишава се точността
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -54
Кога да автоматизираме?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -55
Как да автоматизираме?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -56
Тулове, които можем да ползваме за автоматизация
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -57
Митове за софтуерното тестване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -58
Митове за софтуерното тестване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -59
Митове за софтуерното тестване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -60
Митове за софтуерното тестване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -61
Митове за софтуерното тестване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -62
Validation and Verification
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -63
Software Testing - QA, QC & Testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -64
Audit and Inspection
Одит:
▪Прави се, за да се определи как действително се провежда процеса на
тестване в рамките на една организация или екип; ревю на документацията,
описващата процесите в една организация
Инспекция:
▪Процесът, при който се проверяват детайлно изискванията за продукта,
дизайна и написаният код на продукта
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -65
Testing and Debugging
Тестване:
▪Идентифицирането на грешки, което не включва тяхното опрваяне
Дебъгване:
▪Идентифицирането, изолирането и оправянето на грешки. То се извършва от
разработчиците, когато се окаже, че има грешка в кода.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -66
Стандарти
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -67
Задача
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -68
Задача
Въпросът е:
Колко свои отражения виждате?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -69
Да преговорим
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -70
Въпроси?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -71
Thank you.
Contact information:
Yana Damyanova
E-mail: [email protected]
Видове тестване
Яна Дамянова, SAP Labs Bulgaria
18.Март.2021
PUBLIC
За какво ще си говорим
1. Преговор
2. Видове тестване
▪By knowing internal structure
▪By object of testing
▪By time of test execution
▪By positivism of test scenarios
▪By degree of isolation
▪By degree of automation
▪By level of preparation
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -74
Експертът
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -75
Да преговорим
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -76
Видове тестване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -77
Black box testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -78
Black box testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -79
White box testing
White box testing is also known as "glass box testing," "clear box testing," and
"open box testing"
In real life, white box testing usually exists in the form of unit testing performed by
the programmer against their own code.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -80
White box testing
If we simply develop test scenarios using direct ideas from the spec, we will create
legitimate test cases, but those test cases won’t necessarily be effective bug
finders.
Black box testing and white box testing are a great combination that helps to find
bugs by improving:
▪Test comprehensiveness - i.e., checking the software from different angles
▪Test coverage
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -81
Grey box testing
Grey box testing combines the elements of black and white box testing:
▪On the one hand, the tester uses black box methodology to come up with test
scenarios
▪On the other hand, the tester possesses some knowledge about the back end,
AND they actively use that knowledge
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -82
By object of testing – functional testing
Functional Testing
▪ Most common type of testing
▪ Verifies system functionalities
Example:
Here is a typical test case where we just use UI to test logic of the code:
1. Go to www.sharelane.com.
2. Click the "Sign up" link.
3. Type "2008" into "ZIP code" text field and press the "Continue" button.
Expected result:
Error message that ZIP code must have 5 digits.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -83
By object of testing – UI testing
UI Testing
▪ Verify UI is as in specification
Example:
Here is typical test case for UI testing:
1. Go to www.sharelane.com.
2. Click the "Sign up" link.
3. Check the number of characters that can be typed into the "ZIP code"
text field.
Expected result: 5
Usability Testing
▪ Evaluate user experience with software
▪ Conducted with target group of the software
▪ Tasks are given to people and tasks completion is measured
Example 1: "genius" web site interfaces that are like an intricate puzzle when you attempt
to perform some basic action
Acceptance Testing
• Normally this type of testing is done to verify if the system meets the customer
specified requirements
• The user or the customer do this testing to determine whether to accept the
application
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -86
Interview TIP
What is the difference between usability testing and user acceptance testing?
PUBLIC
By object of testing – usability testing
▪Usability testing
– is usually confined in a laboratory setting/strictly observable environment
– selected users perform certain tasks and the usability engineer makes notes,
observations, interviews, etc.
– can also involve something more, such as intensive recording - eye-tracker,
hand-movement, etc.
– can evaluate different aspects of your application and test its usability
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -88
By object of testing – user acceptance testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -89
By object of testing – localization testing
Localization Testing
Example:
If our Web site was created for an English-speaking audience and we want to
localize it for a Japanese-speaking audience, we’ll have to check if Kanji symbols
can be used to create a username.
http://msdn.microsoft.com/en-us/library/aa292138(v=vs.71).aspx
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -90
Examples from real life
Usable vs Beautiful
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -92
Similarity
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -93
Conventions
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -94
Make things obvious
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -95
By object of testing – performance testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -96
By object of testing – performance testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -97
By object of testing – security testing
Security Testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -98
By object of testing – security testing
Example :
▪Log into the web application.
▪Log out of the web application.
▪Click the BACK button of the browser (Check if you are asked to log in again or if
you are provided the logged-in application.)
▪Most types of security testing involve complex steps and out-of-the-box thinking
but, sometimes, it is simple tests like the one above that help expose the most
severe security risks.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -99
By object of testing – compatibility testing
Compatibility Testing
▪ Test with different OS or browser
▪ Most common OS/Browser combinations are fully tested
▪ Statistics are used to determine most common combinations
1. Compatibility testing involves a variety of third party hardware and/or software with
which our software must be tested.
2. Compatibility problems are a reality, and a user might have a really bad experience
because of those problems.
3. For a Web project, it’s a good idea to have a test lab with computers that have different
OS and Web browsers.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -100
By object of testing – sanity testing
Sanity testing
Example:
When a new release/version of the software is uploaded on the test environment
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -101
By object of testing – regression testing
Regression testing
▪Testing if old functionality is not affected by new functionality or bug fixes
Example:
Usually it is performed against new versions of the product after the new
functionality is tested or re-testing of bugs is performed
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -102
By object of testing – installability testing
Installability Testing
▪Checks the guideline provided in the installation document if it is suitable for
installing the application into environment properly or not
Stress testing
▪System is stressed beyond its specifications to check how and when it fails.
▪Performed under heavy load like putting large number beyond storage capacity,
complex database queries, continuous input to system or database load.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -104
Time and way of execution
Alpha Testing
▪Takes place at developers' sites
▪Simulated or actual operational testing
▪Real customers or independent test team
▪Outside development organisation
Beta Testing
▪Takes place at customers' sites
▪Operational testing by potential or existing customers
▪Good for feedback gathering
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -105
Positivism
Positive Testing
▪Executed first to verify system functions as expected
▪Different use case scenarios are covered
Negative Testing
▪Test system response in case of
errors made by users
▪Verify error messages are useful for users and support
▪Many negative combinations are possible
▪More bugs are found by negative testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -106
Testing by degree of isolation
Component Testing
▪Component is minimal software that can be tested in isolation
▪Test component to ensure it functions as per specification
Integration Testing
▪Functional testing of the interaction between two or more integrated components
Component Testing
▪Component testing is a method where
testing of each component in an application
is done separately.
▪Suppose, in an application there are 5
components
▪Testing of each 5 components separately
and efficiently is called as component testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -108
Testing by degree of isolation – component testing
Example:
Program code is needed
▪to find the full names and emails of all users who spent more than $1000
shopping at ….
▪send those users an email with a gift certificate (gift code) giving them a 5%
discount on a single purchase
▪those certificates will be able to be used through November 17th. This feature is
called "5% discount"
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -109
Testing by degree of isolation – component testing
Example:
Program code is needed
▪Component 1: Generation of certificate codes and the generation of a data file
with names and emails
▪Component 2: Generation of and sending emails
▪Component 3: Usage of certificate codes
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -110
Testing by degree of isolation – integration testing
Integration testing
Component 1 -> Component 2 (data file generated by
Certification_generator.java is used by Certification_sender.java)
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -111
Testing by degree of isolation – system testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -112
Testing by degree of automation
Manual Testing
▪Test cases, test data are created and executed manually
Automation Testing
▪Test cases are executed by automation testing tools
▪Automation test cases are created manually can be automated
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -113
Testing by degree of preparedness
Formal/Documented Testing
▪Planned and documented testing effort
▪Test cases are mandatory
Ad-hoc/Exploratory Testing
▪Testing performed without any planning or specific purpose
▪Testing is performed without any test cases
▪Depends on QA experience and imagination
▪Can catch interesting bugs
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -114
Summary
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -116
Summary
6. By degree of automation
▪ Manual testing
▪ Semi-automated testing
▪ Automated testing
7. By preparedness
▪ Formal/documented testing
▪ Ad-hoc testing
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -117
Questions
▪What is the main difference between black box testing and white box testing?
▪What are advantages of grey box testing?
▪What are the benefits of using black, grey and white box testing techniques
against the same piece of code?
▪Why in your opinion ad-hoc testing often brings amazing bug finding results?
▪What is the difference between positive testing and negative testing?
▪What is the difference between component and integration testing?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -118
Въпроси?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -119
Thank you.
Contact information:
Yana Damyanova
E-mail: [email protected]
Test Cases
Яна Дамянова, SAP Labs Bulgaria
25.Март.2021
PUBLIC
За какво ще си говорим
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -122
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -123
Да преговорим
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -124
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -125
Какво е Test Case?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -126
Какво е Test Case?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -127
Какво е Test Case?
▪Задача:
Как ще генерирате процес стъпка по стъпка, за да тествате дали химикалката
ви пише както трябва?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -128
Какво е Test Case? - задача
▪Какво ни трябва?
– лист хартия
▪Стъпки:
1. Взимаме химикалката
2. Включваме я
3. Пишем нещо на листа
4. Проверяване дали написаното е гладко, без прекъсване на мастилото по
време на писане
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -129
Какво е Test Case? - задача
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -130
Резултат от изпълнението на Test Case-а
▪ Друга дефиниция:
Set of conditions or variables under which a tester will determine whether an application, software
system or one of its features is working as it was originally established for it to do.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -132
Групова задача
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -133
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -134
Стандартни полета на Test Case template-а
▪Test case ID
Уникално ID за всеки test case. Следвайте някаква конвенция за именоване
на типа на теста. Например, ‘TC_UI_1’ което показва ‘test case user interface
#1’.
▪ Module Name
Името на главният модул или sub module-а.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -135
Стандартни полета на Test Case template-а
▪ Test Designed By
Името на тестера
▪ Test Title/Name
Името на test case-a. Например, “Verify login page with valid username and password”
▪ Pre-condition
Условията, които трябва да бъдат изпълнени преди изпълнението на test case-а.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -136
Стандартни полета на Test Case template-а
▪ Dependencies
Тук са споменати всякакви зависимости към други test case-ове или test изисквания
▪ Test Summary/Description
Кратко описание теста
▪ Test Data
Данни, които да се използват за test case-а. Например, може да има различни сетове
от данни с конкретни стойности, които да бъдат използвани
▪ Test Steps
Подробен, последователен списък на стъпките за изпълнение на теста
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -137
Стандартни полета на Test Case template-а
▪ Expected Result
Детайлно описание на очаквания резултат след изпълнение на теста
▪ Post-condition
В какво състояние трябва да бъде системата след изпълнение на този test case?
▪ Actual result
Реалният резултат след изпълнението на теста и описание на поведението на системата като последствие
▪ Status (Pass/Fail)
Ако реланият резултат е различен от очаквания, тестът трябва да е маркиран като FAILED, противен случай, е PASSED
▪ Test Executed By
Тестерът, който е изпълнил теста
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -138
Revision History
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -139
Задача
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -140
Поддръжка на test cases
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -141
Допустим брой Очаквани резултати
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -142
Лоши практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -143
Лоши практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -144
Лоши практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -145
Лоши практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -146
Добри практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -147
Добри практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -148
Добри практики
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -149
Ползи от писането на test cases
▪Проследяване на изискванията
▪Възможност за преизползване
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -150
Кога пишем test cases и от къде взимаме идеи
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -151
Видове test cases
▪ High Level
Няма нужда от въвеждане на данни, но има конкретни стъпки и очаквани резултати
Всеки QA може да го изпълни по различен начин и да намери нови грешки
Лесна поддръжка
Не гарантира особено голямо покритие на функционалностите
▪ Low level
Има нужда от въвеждане на конкретни данни
Има детайлни стъпки за изпълнение и очаквани резултати
Изпълнението е абсолютно еднакво всеки път
Трудни за поддръжка
Ясно е точно коя функционалност е покрита
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -152
Видове test cases
▪ Positive
Проверка дали функциите работят коректно
Покриват основните стъпки, през които преминава ползвателя
Подсигуряват, че клиента получава това, което трябва
Трябва да се изпълняват винаги (редовно)
▪ Negative
Проверява дали системата ще загине при въвеждане на невалидни данни
Проверява как се държи системата при некоректно ползване
Негативните test cases трябва да бъдат опивани след позитивните
Обикновено се изпълняват на критични системи (Canary)
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -153
Test suite
Test suite-ът е:
▪Контейнер, който съдържа сет от тестове, които помагат на тестера при
изпълнение и репортване на статуса на изпълнение на тестовете
▪Може да има следните статуси: Active, In Progress, Completed
▪Един Test Case може да бъде добавен в няколко Test Suites и Test Plans
▪След създаването на Test Plan, се създават Test Suites, които могат да
съдържат произволен брой Test Cases
▪Test Suites обикновено се създават въз основа на тест фазата
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -154
Test suite
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -155
Домашно
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -156
Въпроси?
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC -157
Thank you.
Contact information:
Yana Damyanova
E-mail: [email protected]
Принципи на тестването
Яна Дамянова, SAP Labs Bulgaria
Април 01, 2021
INTERNAL
За какво ще си говорим
▪ 7 принципи на тестването
▪ Разликата между грешка, дефект и неуспех в софтуерното тестване
▪ Какъв е фундаменталният процес на тестване на софтуер
▪ Техники за тестване
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -160
Publi
Да преговорим
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -161
Publi
Въпрос от интервю
Отива си в стаята.
Погледнал колко е часът и легнал да спи. Събудил се през нощта. Отишъл на рецепция и
казал: „В стаята ми има труп“.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -162
Publi
7 принципи на тестването
Принципите:
1. Тестването показва наличието на дефекти
2. Изчерпателното тестване е невъзможно
3. Ранното тестване е препоръчително
4. Събиране на подобни дефекти
5. Парадокс на пестицидите
6. Тестването зависи от контекста
7. Заблуда при липсата на грешки
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -163
Publi
7 принципи на тестването
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -164
Publi
7 принципи на тестването
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -165
Publi
7 принципи на тестването
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -166
Publi
7 принципи на тестването
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -167
Publi
7 принципи на тестването
5. Парадокс на пестицидите
▪ Ако еднакъв вид тестове се повтарят отново и отново, с времето тези тестове няма да могат
да намират нови грешки
▪ За да се превъзмогне този „парадокс на пестицидите“, е наистина много важно редовно да
се преглеждат тестовете, както и да се добавят нови и различни тестове, за да има
потенциал в откриването на повече дефекти.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -168
Publi
7 принципи на тестването
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -169
Publi
ЗАДАЧА
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -170
Publi
ЗАДАЧА
За какво да проверите…
▪ Има ли 5 крака?
▪ Колко тежест може да поеме?
▪ Удобен ли е столът за почивка?
▪ От какъв материал е направен столът?
▪ Разполага ли с колелца и колко на брой са те?
▪ Има ли възможност за наклон на облегалката?
▪ До колко градуса се накланя облегалката?
▪ Има ли опора за главата?
▪ Може ли да се променя височината на облегалката?
▪ Може ли да се променя височината на подлакътниците?
▪ Може ли да се променя височината на седалката?
▪ Материята има ли перфорация за преминаване на въздух?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -171
Publi
ЗАДАЧА
Имате 15 минути
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -172
Publi
Разликата между
грешка, дефект и повреда
(error, defect and failure) в софтуерното тестване
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -173
Publi
Разликата между грешка, дефект и повреда в софтуерното тестване
Грешка (error)
▪ Грешките, допуснати от разработчиците на софтуер, се наричат ERRORs. Такива грешки
могат да възникнат:
▪ При разминаване в разбирането на функционалността на софтуера
▪ При неправилна калкулация на стойности
▪ Поради неправилна интерпретация на стойност или функция и т.н.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -174
Publi
Разликата между грешка, дефект и повреда в софтуерното тестване
Дефект (defect)
▪ Бъговете, които да допуснати от разработчиците на софтуера, в кода, са дефекти.
▪ Могат и да са в следствие на програмни грешки.
Повреда (failure)
▪ Ако по някаква причина дефектният код се изпълни от тестера по време на тестване, това
ще доведе до софтуерна повреда (software failure).
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -175
Publi
Какъв е фундаменталният тестови процес?
Тестването
Е процес, а не еднократна активност.
Започва с планиране на самото тестване и продължава с дизайн на тестовите случаи,
подготовка за изпълнение и оценка на статуса до затваряне на тестовата фаза.
Може да разделим дейностите по следния начин:
▪ Планиране и контрол
▪ Анализ и дизайн
▪ Имплементация и изпълнение
▪ Оценка на изходните критерии и докладване на резултатите
▪ Активности по затваряне на тестовата фаза
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -176
Publi
Тестови процес – Планиране и контрол
Планиране
Включва следните по-големи задачи:
▪ Да се определят обхвата и рисковете и да се идентифицират целите на тестването
▪ Да се определи подходът за тестване
▪ Да се приложи тестова политика и/или тестова стратегия
▪ Да се разбере какви ресурси са нужни – хора, тестова среда, компютърна мощност и др.
▪ Да се назначат задачи за тестови анализ и дизайн, изпълнение и оценка на тестовете
▪ Да се определят изходните критерии
▪ Да се определи процентът на тестово покритие
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -177
Publi
Тестови процес – Планиране и контрол
Контрол
Включва следните по-големи задачи:
▪ Да се измерят и анализират резултатите от тестването
▪ Да се наблюдава и документира прогресът, покритието на тестовете и изходните критерии
▪ Да предоставя информация по прогреса на изпълнение на тестовете
▪ Да се задействат процеси по взимане на мерки за поправка на грешките, произлезли от
изпълнените до сега тестове
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -178
Publi
Тестови процес – Анализ и дизайн
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -179
Publi
Тестови процес – Имплементация и изпълнение
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -180
Publi
Тестови процес – Оценка на изходните критерии и докладване на
резултатите
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -181
Publi
Тестови процес – Активности по затваряне на тестовата фаза
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -182
Publi
Техники на тестване – Black Box – Equivalence Partitioning
Разделяне по еквивалентност
▪ Може да бъде използвано във всяко ниво на тестване и обикновено е добра техника като за
начало
▪ Идеята е да се раздели набор от условия за изпитване на групи, които могат да се считат за
еднакви, или еквивалентни – тоест „разделяне по еквивалентност“. Може да го срещнете
като EP, Equivalence Partitioning, Equivalence Classes – всичко това се отнася за едно и
също нещо
▪ В тази техника трябва да тестваме едно условие от всяка група
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -183
Publi
Техники на тестване – Black Box – Equivalence Partitioning
Пример
▪ Спестовна сметка в банка има различни проценти на лихва спрямо това колко ви е
балансът на сметката. За да тествате дали софтуерът смята правилно лихвеният процент,
може да отделите няколко групи:
▪ 3% лихва, ако балансът на сметката е от $0 до $100
▪ 5% лихва, ако балансът на сметката е от $1000 нагоре
▪ Така ще имаме три валидни групи и една невалидна:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -184
Publi
Техники на тестване – Black Box – Equivalence Partitioning
Пример
▪ Искате да купите самолетни билети за вас и приятелите ви
▪ Резервационната система ви позволява да закупите до 10 билета наведнъж
▪ Невалидните групи са ви стойностите под 1, например 0, и над 10, например 11. Както може
да се включи и група от трицифрени числа, например 100 и -100.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -185
Publi
Техники на тестване – Black Box – Boundary Value Analysis (BVA)
Пример
Представете си принтер, който може да принтира между 1 и 10 копия. За да приложим
анализа на гранична стойност, ни трябва минималната и максималната стойност (гранична)
от валидния дял (в случая – 1,2 и 9,10), заедно с първата или последната стойност от всеки
невалиден дял граничещ с валиден такъв (в случая – 0 и 11).
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -186
Publi
Техники на тестване – Black Box – Boundary Value Analysis (BVA)
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -187
Publi
Техники на тестване – Black Box – Decision Table
Пример
Предоставяте лоялна карта за отстъпки на клиентите си и имате следните правила:
▪ Всеки нов клиент получава 15% отстъпка
▪ С лоялна карта всеки клиент получава 10% отстъпка
▪ Всеки, предоставил ваучер за отстъпка, получава 20% отстъпка
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -188
Publi
Техники на тестване – Black Box – Decision Table
Пример
Може да разделите правилата на общо 8.
▪ Забележете, че имаме Х в клетките с намаление на правило 1 и 2. Защо? Защото не може
да дойде нов клиент, който да има и карта за лоялност. Но пък правило 3 е възможно – да
имаме нов клиент БЕЗ карта за лоялност, но с ваучер за намаление. В случая
предполагаме, че според правилата на фирмата не можем да комбинираме отстъпки, и за
това предоставяме по-голямата отстъпка на стойност 20%.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -189
Publi
Техники на тестване – Black Box – State Transition Testing
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -190
Publi
Техники на тестване – Black Box – State Transition Testing
ЗАДАЧА
Според следната диаграма, кое от следните последователни действия е НЕВАЛИДНО и би
индикирало проблем с дизайна на системата за онлайн поръчка:
A. Login, Browse, Basket, Checkout, Basket, Checkout, Pay, Logout
B. Login, Browse, Basket, Checkout, Pay, Logout
C. Login, Browse, Basket, Checkout, Basket, Logout
D. Login, Browse, Basket, Browse, Basket, Checkout, Pay, Logout
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -191
Publi
Техники на тестване – Black Box – State Transition Testing
ЗАДАЧА
Според следната диаграма, кое от следните последователни действия е НЕВАЛИДНО и би
индикирало проблем с дизайна на системата за онлайн поръчка:
A. Login, Browse, Basket, Checkout, Basket, Checkout, Pay, Logout
B. Login, Browse, Basket, Checkout, Pay, Logout
C. Login, Browse, Basket, Checkout, Basket, Logout
D. Login, Browse, Basket, Browse, Basket, Checkout, Pay, Logout
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -192
Publi
Техники на тестване – Black Box – Decision Table - ДОМАШНО
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -193
Publi
Въпроси?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -194
Publi
Thank you.
Contact information:
Яна Дамянова
[email protected]
Software Development Lifecycle
Жизненият цикъл на разработката на софтуер
Yana Damyanova, SAP Labs Bulgaria
08.April, 2021
INTERNAL
За какво ще си говорим?
1. Идея и изисквания
2. Дизайн
3. Код
4. Тестване и поправяне на грешки
5. Релийз и поддръжка
6. Waterfall
7. V-model
8. Agile
9. Scrum
10. Dev-Ops
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -197
Какво си спомняте от миналата лекция?
Интро
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -199
Идея и изисквания
Описание на целта
▪ „Би било хубаво да имаме тези функционалности в нашия уеб сайт“
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -200
Дизайн / Планиране
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -201
Дизайн / Планиране
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -202
Дизайн / Планиране
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -203
Код / разработка на софтуера
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -204
Тестване и поправяне на грешки
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -205
Релийз и поддръжка
Релийз, или т.нар. пускане на готовия софтуер може да се случи наведнъж или
на части:
• Алфа версия
• Бета версия
• Кандидат за пускане (release candidate)
• GA (general availability) – когато софтуерът е готов за ползване
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -206
Waterfall (водопад) моделът
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -207
Waterfall (водопад) моделът – Предимства и недостатъци
Предимства
• Прост и лесен за разбиране и използване.
• За по-малки проекти, моделът работи добре и се получават съответните резултати.
• Тъй като фазите са конкретни и точни и се извършват една след друга, е лесно да се
поддържа.
• Критериите за влизане и излизане, са добре дефинирани, така че лесно и систематично
да се пристъпи към постигане на качеството.
• Резултатите са добре документирани.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -208
Waterfall (водопад) моделът – Предимства и недостатъци
Недостатъци
• Предполага се, че системата е „замразена“ и изискванията и желанията на клиента няма
да се променят, което е трудно постижимо в реалния свят
• Изключително трудно може да се върне екипа на предишен етап, който вече е завършил
• Има твърде малко гъвкавост по регулацията на обхвата на проекта и всяка промяна по
него е трудоемка и скъпа
• Трябва да се избягва за сложни и дългосрочни проекти
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -209
V-образен модел
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -210
V-образен модел
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -211
V-образен модел – предимства и недостатъци
Предимства
• Методологията е проста и лесна за прилагане
• След всяка фаза има очаквания за конкретни резултати, което прави разработката лесна
за проследяване
• По-големи шансове за успех в сравнение с Водопадния модел
• Това се дължи на изготвянето на тест планове в началото на всеки ден по време на
жизнения цикъл на софтуерната разработка.
• В комбинация с лесно разбираеми изисквания, това води до добри резултати.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -212
V-образен модел – предимства и недостатъци
Недостатъци
• Недостатъчно гъвкав, подобно на Водопадния модел
• Малката гъвкавост води до трудноемко и скъпо адаптиране към промени в обхвата на
проекта.
• Софтуерът се разработва по време на фазата на имплементация, което означава, че
няма как да се произведат предварителни прототипи на програмния продукт
• Моделът не дава възможност за бързо и лесно отстраняване на проблемите, открити по
време на фазите на тестване и качествен анализ.
V-образният модел е скъп и времеемък процес, който обаче започва с подробен план и
завършва с ясна и пълна документация за проекта и софтуерния продукт
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -213
Гъвкави методологии (Agile) – 12 принципи (1/2)
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -214
Гъвкави методологии (Agile) – 12 принципи (2/2)
12. Екипът редовно мисли как може да бъде по-ефективен и се адаптира съответно
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -215
Scrum
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -216
Scrum
• Роли
• Product owner
• Scrum master
• Екип
• Церемонии
• Планиране (на спринта)
• Ежедневни 15-минутни срещи
• Ревю / демо (на спринта)
• Ретроспектива
• Артефакти
• Продуктов беклог
• Беклог на спринта
• Burndown чартове
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -217
Scrum - Роли
Product Owner
Собственикът на продукта, представляващ
заинтересованите страни на продукта и гласа на клиента,
е отговорен за:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -218
Scrum - Роли
Scrum master
Scrum master-ът е отговорен за:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -219
Scrum - Церемонии
Планиране
В началото на спринта екипът провежда събитие за планиране на спринта, за да се:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -220
Scrum - Церемонии
Дейли
Всеки ден по време на спринта, екипът провежда ежедневна 15-минутна среща (изправена)
със специфични насоки:
• Всички разработчици идват подготвени
• Трябва да се случва по едно и също време и място всеки ден с ограничено (с часово време)
до 15 минути
• Всеки е добре дошъл, макар че само разработчиците и QA/Ops трябва да участват
• От екипа зависи как ще провежда ежедневната среща, но много често всеки човек се редува
да отговори на три въпроса:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -221
Scrum - Церемонии
Ревю
В края на спринта екипът провежда две събития: спринт ревю и спринт ретроспектива. На
спринт ревюто екипът:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -222
Scrum - Церемонии
Ретроспектива
На ретроспективата на спринта екипът:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -223
Scrum - Артефакти
Беклог на продукта
Беклогът (натрупването) на продукта е разбивка на работата, която трябва да се свърши, и
съдържа подреден списък с изисквания за продукти, които екипът на scrum поддържа за даден
продукт
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -224
Scrum - Артефакти
Burndown chart
Диаграмата за изгаряне на спринта (burndown chart) е публично показана диаграма, показваща
оставащата работа за спринта.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -225
DevOps
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -226
DevOps – по-добрата дефиниция
Continuous Deployment
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -228
DevOps – как се връзва с непрекъснатата доставка на софтуер
Непрекъсната доставка (Continuous delivery) и DevOps имат общи цели и често се използват
заедно, но има фини разлики:
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -229
SDLC еволюцията
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -230
Въпроси?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -231
Thank you.
Bug Reporting
Яна Дамянова, SAP Labs Bulgaria
15.Април.2021
INTERNAL
За какво ще си говорим
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -234
За какво си говорихме миналия път?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -235
Въпрос от интервю
9
В семейството има един син, който е брат на всички дъщери.
Тоест - 1 майка, 1 баща, 6 дъщери и 1 син.
Въпрос от интервю
Включете 2 ключа.
Изключете единия ключ след няколко минути.
Влезте в стаята с крушките.
Крушката, която е включена, е единственият включен ключ.
Крушката, която е изключена, но гореща, е изключеният ключ.
Крушката, която е изключена и студена, е третият ключ.
7-те най-важни умения за постигане на добро описание на бъговете
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -240
Какво представлява описването на бъгове
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -241
Какво представлява описването на бъгове
• Реални примери
• „Исках бира, но жена ми ми донесе сладолед.“
• „Исках сладолед, но мъжът ми ми донесе бира.“
• Лошо описание
• „Не получих това, което исках.“
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -242
Какво представлява описването на бъгове
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -243
Какво представлява BTS – Bug Tracking System
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -244
Какво представлява BTS – Bug Tracking System
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -245
Какво представлява BTS – Bug Tracking System
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -246
BTS – Bug Tracking System - упражнение
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -247
BTS – Bug Tracking System - Summary
Добра идея е да създадете конвенция (във вашата компания) или поне някои
насоки за това как да пишете Резюмета (Summary) на грешки. Например,
можем да се съгласим, че ако запишем Summary с идентификационния
номер на спецификацията, трябва да го направим по определен начин:
• “Spec2345:” (no space)
• “Spec 2345:” (space)
• “#2345:” (pound, no word “Spec”), etc.
Погледнете в официалния ShareLane BTS, наречен Bug Vault (Test Portal> Bug Tracking>
Bug Vault) за примери за Summary. Щракнете върху идентификатора на грешката, за да
отворите уеб страница с пълни подробности за конкретната грешка.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -249
BTS – Bug Tracking System - Description
Bug Severity:
• Сериозността и важността на грешката не винаги е пряко свързана с
комплексността на отстраняването ѝ
• Mоже да има различни мнения сред мениджърите и архитектите
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -250
BTS – Bug Tracking System - Attachment
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -251
BTS – Bug Tracking System – Assigned To
Възложено на:
• Падащото меню „Възложено на“ (Assigned to) е необходимо, за да се посочи псевдоним
или име на собственика на грешката.
• Когато подава грешка, тестерът е хубаво да я възлага на човек или поне на компонентът,
който е собственик на съответния модул/продукт/технология и т.н.
• Собственикът на грешки е конкретният човек, отговорен за следващата стъпка към
затваряне на грешки
• Как да разберете кой е „подходящият разработчик“?
• В повечето случаи разработчикът е този, който е написал кода
• Лицето, което в момента отговаря за тази функционална област
• Или на човек, който би пренасочил грешката на подходящ разработчик. Този човек
обикновено е мениджърът на разработчиците
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -252
BTS – Bug Tracking System – Assigned To
Възложено на:
• Най-доброто решение е да се създадат и поддържат два много важни документа:
• Кой какво прави (Who does what)
• Кой какво притежава (Who owns what)
• Тези документи трябва да бъдат публикувани в Wiki
• Изключително важно е тези два документа да бъдат актуални и да се попълват с
правилната информация
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -253
BTS – Bug Tracking System – Assigned To
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -254
BTS – Bug Tracking System – Severity
Сериозност:
• Това е падащо меню със стойности S1-S4 включително
• Сериозността се определя от сериозността на
въздействието на грешката върху софтуера
• Сериозноостта е техническа характеристика
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -255
BTS – Bug Tracking System – Severity
Пример - S1:
Блокер (blocker)
Ако въведете потребителско име и парола в страницата на Gmail, веднага излиза страница
за грешка или страницата за входящи съобщения не се вижда.
• Тези грешки трябва да се разглеждат като блокиращи (blocker/showstopper)
• Нарушават дадена функционалност, поради което грешката трябва да бъде поправена
от разработчика, преди да може да се извърши допълнително тестване на тази
функционалност
• Водят до блокиране на тестването на приложението.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -256
BTS – Bug Tracking System – Severity
Пример - S2:
Сайтът зависва
• Това обикновено е проблем с производителността - например, отнема много време за
зареждане на уеб страницата
• Потребителите са блокирани и не могат да купуват книги в ShareLane, защото Checkout
не работи.
Много важен термин, който е свързан с блокиращи ситуации, е заобиколно решение
(workaround). Например, ако Създателят на акаунти (Test Portal>Helpers>Account Creator),
използван от тестерите за автоматично генериране на акаунти, не работи, това не е
проблем, който блокира тестването, тъй като новите потребителски акаунти могат да
бъдат създадени ръчно. Така че в тази ситуация ръчното създаване на акаунт е
заобиколно решение. Ако има разумно решение, проблемът не може да се счита за
блокиращ (blocker).
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -257
BTS – Bug Tracking System – Severity
Пример - S3:
Функционален проблем
Тази категория е за всички функционални грешки, които не попадат в S1 или S2. Не е
чудно, че повечето грешки ще бъдат S3. Ето защо S3 по правило е стандартно по
подразбиране, когато тестерите подават грешка.
Пример - S4:
Друг проблем
Това включва всички грешки, които не попадат в S1, S2 или S3. Като правило тук ще
намерите грешки в потребителския интерфейс (напр. проблеми с оформлението, правопис
и т.н.).
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -258
BTS – Bug Tracking System – Priority
Приоритет
• Това е падащо меню със стойности P1-P4 включително
• Приоритет е степента на въздействие на грешката върху бизнеса на компанията
• Често има объркване между Приоритет (Priority) и Сериозност (Severity), така че нека
посочим разликите:
• Сериозността (Severity) се отнася до техническия аспект на грешката
• Приоритетът (Priority) се отнася до бизнес аспекта на грешката
С други думи, Severity използва технически критерии, за да оцени грешката, докато
Priority използва бизнес критерии.
Ето защо почти винаги е ясно коя тежест да се присвои на грешката, докато
Приоритетът на конкретна грешка често е предмет на спорове и политически игри.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -259
BTS – Bug Tracking System – Priority
Приоритет – пример:
• Да предположим, че има банкомат, който се използва за банкови транзакции
• Ако при използване на банкомата се случи следната ситуация:
• Потребителят тегли пари от банкомата на същата банка, в която има банкова
сметка, и му се начислява такса от $2 на транзакция
НО
• Според банковата политика, тегленето на пари от собствения им банкомат, не
подлежи на таксуване
Очевидно ще има проблем, ако клиентите бъдат таксувани, когато не трябва
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -260
BTS – Bug Tracking System – Priority
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -261
BTS – Bug Tracking System – Priority
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -262
BTS – Bug Tracking System – Priority and Severity Levels
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -263
BTS – Bug Tracking System – Priority and Severity Levels
Въпрос:
Системата се срива, след като сте извършили плащането в уеб сайта или когато не
можете да добавите артикулите в количката.
Тази грешка каква степен на сериозност (Severity) и приоритет (Priority) има?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -264
BTS – Bug Tracking System – Priority and Severity Levels
Отговор:
Системата се срива, след като сте извършили плащането в уеб сайта или когато не
можете да добавите артикулите в количката.
Тази грешка каква степен на сериозност и приоритет има?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -265
BTS – Bug Tracking System – Priority and Severity Levels
Въпрос:
Представете си логото на yahoo.com.
Да предположим, че при актуализиране на yahoo.com по погрешка са актуализирали
грешно лого, напр. yaho.com тук 'o' липсва. Трябва да е Yahoo.com.
Какъв приоритет (Priority) и сериозност (Severity) биха били това?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -266
BTS – Bug Tracking System – Priority and Severity Levels
Отговор:
Тази грешка е с висок приоритет (High Priority) - Yahoo.com е фирмено лого и грешка
във фирменото лого трябва да бъде отстранена с висок приоритет, за да се запази името.
Тази грешка е с ниска сериозност (Low Severity) - Тъй като това е само правописна
грешка в логото, въздействието върху потребителя не е толкова голямо. Потребителят все
още може да използва уебсайта.
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -267
BTS – Bug Tracking System – Priority and Severity Levels
Въпрос:
В сайт за социални мрежи (напр. Facebook) е пусната бета версия на нова функция с
малко на брой активни потребители, които я използват към днешна дата.
Как би се класифицирал всеки дефект на тази функция?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -268
BTS – Bug Tracking System – Priority and Severity Levels
Отговор:
В сайт за социални мрежи (напр. Facebook) е пусната бета версия на нова функция с
малко на брой активни потребители, които я използват към днешна дата.
Как би се класифицирал всеки дефект на тази функция?
• Нисък приоритет (Low Priority) – въпреки, че тази функция има функционален дефект,
тя не засяга пряко крайните клиенти от бизнес гледна точка и може да бъде коригирана
със следващото издание като заявка за промяна
• Висока сериозност (High Severity) – защото е важно всяка грешка, намерена по време
на тестване на бета версията, да бъде поправена, преди функцията да бъде пусната
към всички потребители
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -269
BTS – Bug Tracking System – Priority and Severity Levels
Въпрос:
На страници 3 и 4 от политиката за поверителност на уебсайта има правописна грешка.
Как би се класифицирал този дефект?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -270
BTS – Bug Tracking System – Priority and Severity Levels
Въпрос:
На страници 3 и 4 от политиката за поверителност на уебсайта има правописна грешка.
Как би се класифицирал този дефект?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -271
BTS – Bug Tracking System – сравнение на софтуерни решения
https://www.wikiwand.com/en/Comparison_of_issue-tracking_systems
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -272
Въпроси?
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL -273