SlideShare a Scribd company logo
Професия QA инженер
Peter Sabev
QA Manager
www.psabev.info
Software University
http://softuni.bg
2
Запознайте се с Борислав
(a.k.a. Българският Jason Statham)
!(Борислав)
Борислав
www.qachallengeaccepted.com
3
Трябва да разкажеш
на тези хора за цяла
професия, все едно си
лафим в метрото и имаш
време от центъра до
летището…
4
МС „Сердика“
5
Няколко бъга в любими игри…
6
7
8
9
10
11
12
13
TOP-5 „любими“ бъга
5. Бъг в софтуера на
Мичиганския затвор
погрешно причинява
предсрочно освобождаване
на 23 тежко проявени
затворници…
14
TOP-5 „любими“ бъга
4. Грешка във firmware на
мрежова карта причинява
проблем в РВД-системата на
Лос Анджелис, заради което
17 000 самолета са свалени и
над 8 часа никой не лети от и
към САЩ
15
TOP-5 „любими“ бъга
3. healthcare.gov
Новият сайт на американското
министерство на здравеопазването
просто не е бил тестван за
натоварване от повече
потребители. При обявяването му
всички сървъри се сриват.
Поправката струва $600 000 000.
16
TOP-5 „любими“ бъга
2. Поради объркване на
базите данни, системата за
трафик-нарушения в Париж
вписва пощенския код вместо
кода на нарушението. В
резултат вместо глоба за
превишена скорост или
неправилно престрояване,
гражданите получават такива
за тежки престъпления като
убийство, грабеж или
17
TOP-5 „любими“ бъга
1. Advanced Field Artillery
Tactical Data System
По време на военно учение във
Fort Drum, двама войници
пропускат да въведат разстояние
до целта в артилерийската
система. Вместо съобщение за
грешка, системата приема 0 за
стойност по подразбиране и ги
взривява.
18
Автомобили, магистрали, влакове, самолети, летища,
атомни електроцентрали и електроуреди – днес всички те се
управляват от софтуер!
Неадекватното тестване може да струва пари, имидж и дори
човешки животи!!!
Помислете…
19
Ето затова са нужни QA инженерите!
20
МС „СУ Св. Климент Охридски“
21
Quality Assurance (Осигуряване на качеството) e процес,
включващ всички действия в жизнения цикъл на даден
софтуерен продукт, концентрирани върху планирането,
подготовката и развитието на продукта и неговата работа, с
три основни цели:
1. Да се определи дали изискванията са удовлетворени;
2. Да се потвърди, че продуктът работи по предназначение;
3. Да се открият грешки (a.k.a. бъгове, дефекти, проблеми).
Какво е QA?
22
МС „Стадион Васил Левски“
23
Такъв, за който са удовлетворени всички функционални и
нефункционални изисквания.
Какво е качествен софтуер?
24
Пример: Windows Calculator
2+2 трябва да дава 4
Софтуерът трябва да е ФУНКЦИОНАЛЕН!
25
2+2 трябва ВИНАГИ да дава 4…
(представете си, ако това се случваше само в 62% от случаите)
Софтуерът трябва да е НАДЕЖДЕН!
26
Всеки софтуер трябва да е удобен за ползване…
Представете си ей такава клавиатура:
Софтуерът трябва да е ПОЛЗВАЕМ!
27
Всеки софтуер трябва да работи ефективно спрямо ситуацията
и ресурсите. Представете си при „2+2“ да се случва това:
Софтуерът трябва да е ЕФЕКТИВЕН!
28
Промени и корекции трябва да се извършват лесно.
Софтуерът трябва да може ДА СЕ ПОДДЪРЖА!
Нова
функционалност
29
Софтуерът трябва да работи на различни среди и платформи,
както софтуерни, така и хардуерни…
Софтуерът трябва да е ПРЕНОСИМ!
30
QA инженерът трябва да провери всичко това!
31
МС „Жолио-Кюри“ (слезте тук за СофтУни)
32
DISCLAIMER: Без мишкоблудци!
QA vs. Developer
33
Software Developer знае една технология почти съвършено
(напр. Java), но рядко има понятие от хардуер, мрежи,
операционни системи, системни процеси, стандарти,
маркетингово позициониране и конкурентни пазари,
UI/UX, load balancing и др.
Един добър Quality Assurance Engineer знае по малко за
всички тези неща, макар рядко да има понятие от тях в
дълбочина…
QA vs. Developer
34
МС „Г. М. Димитров“
35
Как се тества?
Изберете картинка
(от 1 до 9)
36
Резултат
1. Чувствителен и разсъдлив
2. Независим и необикновен
3. Динамичен и отворен
4. Хармоничен и здраво стъпил
на земята
5. Професионалист и
самоуверен
6. Дискретен и миролюбив
7. Весел и игрив
8. Романтичен и мечтател
9. Аналитичен и надежден
37
Схемата е една и съща!
SUT
(System Under Test)
Входни
данни
Изходни
данни
Резултат
Очакван
резултат
QA Failed
38
Калкулатор
2+2 4
Очакван резултат:
4
Реален резултат:
4
QA Passed
39
Човек
8
Очакван резултат:
?
Реален резултат:
8
40
Тестов оракул
SUT
(System Under Test)
Входни
данни
Изходни
данни
Резултат
Очакван
резултатTest Oracle
Спецификации, договори, подобни продукти,
стари версии на същия продукт, клиентски
очаквания, стандарти, закони и др.
41
Black Box Testing
Не знаем
как работи
системата
Входни
данни
Изходни
данни
42
White (Glass) Box Testing
Знаем точно
как работи
системата
Входни
данни
Изходни
данни
43
Предимство на White Box Testing
Знаейки как работи една
система, можем да
покрием максимална
функционалност с
минимален брой тестове.
44
МС „Мусагеница“
Test Plan
45
Тестов план, тестови случаи и др.
Test SuiteTest SuiteTest Suite
(Test Script)
(Test Scenario)
1. Test Step
2. Test Step
3. Test Step
4. Test Step
Test
Case
Test
Case
People &
Responsibilities
Schedule &
Enviroments
46
1. Натиснете Start бутона в долния ляв ъгъл.
2. Намерете Calculator и щракнете с левия бутон на мишката.
(Уверете се, че калкулаторът се е появил на екрана.)
3. Въведете: 2+2
4. Натиснете ENTER
Очакван резултат:
На екрана се изписва „4“.
Няма друга промяна в системата, няма съобщения за грешки.
Примерен тестов случай (test case)
47
МС „Младост 1“
48
Видове тестване
Тестване
Функционално
Тестване за
приемане от
крайния потребител
Тестване на
интеграцията на
системите
Тестване на
системата
Тестване на
интеграцията на
компонентите
Тестване на
компонента
Нефункционално
49
V-Model
Тестване за приемане от
крайния потребител
(User Acceptance Testing)
Тестване на интеграцията
на системите
(System Integration Testing)
Тестване на системата
(System Testing)
Тестване на интеграцията на
компонентите
(Component Integration Testing)
Тестване на компонента
(Unit/Component Testing)
Бизнес изисквания
(Business Requirements)
Функционални
спецификации
(Functional Specifications)
Технически спецификации
(Technical Specifications)
Програмни спецификации
(Program Specifications)
Код
(Source Code)
50
МС „Младост 3“
51
Нефункционално тестване
Тестване
Функционално
Нефункционално
Performance Testing
Load Testing
Stress Testing
Endurance Testing
Volume Testing
Scalability Testing
Usability Testing
… и др.
52
1000 потребители, правещи 1 KB трафик на сайт в рамките на
1 минута се нарича LOAD TESTING
1 потребител, качващ 1 файл с размер 10 GB на сайт в рамките
на 1 час се нарича VOLUME TESTING
1 потребител, работещ на сайт в рамките на 100 часа без
прекъсване се нарича ENDURANCE TESTING
(всякакво комбиниране е допустимо)
Load vs. Volume vs. Endurance Testing
53
Performance vs. Load vs. Stress Testing
54
Performance vs. Load vs. Stress Testing
Капацитет: 40 едновременни клиента
Stress Testing
Load Testing
Performance Testing
Reliability: 95% (при 5% върнати грешки)
Scalability: При 20+ потребители, се включва load balancer
55
Usability с Heatmap
56
Usability с A/B Testing
57
 Penetration Testing
 SQL Injection
 OS Injection
 Cross-Site Scripting (XSS)
 Cross-Site Request Forgery (XSRF)
 Other
 Vulnerability Scanning
 Security Audits
Security Testing
58
 Тестване на инсталацията (Installation Testing)
 Инсталира ли се продуктът?
 Правилно ли се ъпгрейдва от всяка до всяка версия?
 Тестване на документацията (Documentation Testing)
 Всичко ли е документирано?
 Вярна и точна ли е?
 Тестване на съвместимостта (Compatibility Testing)
 Различни операционни системи, платформи и др.
 Тестване на възстановяването (Recoverability Testing)
 Ако спре токът, нетът, няма дисково място и тем подобни
 И много други…
Други
59
МС „Интер Експо Център – Цариградско шосе“
60
„Бъговете“ са навсякъде около нас
61
Когато открием бъг, трябва да го опишем:
 Заглавие – кратко, ясно и с един поглед да се разбира
 Подробно описание – стъпки за репродуциране,
очакван и реален резултат
 Приоритет и потенциална опасност – колко спешно
трябва да се оправи и какви щети може да нанесе
 Screenshots, логове, дъмпове и друга важна
информация
Bug Тracking
62
Bug Tracking Software
63
Bug Tracking Software
64
Bug Tracking Software - JIRA
65
МС „Дружба“
66
Regression Testing е
повтарящо се тестване на
текущата функционалност, за
да се уверим, че оправяйки
даден бъг или добавяйки
нова функционалност не сме
увредили вече
съществуващата.
Може да бъде ръчно и
автоматично.
Регресионно тестване и автоматизация
67
Инструменти за автоматизирано тестване
 Администрация и управление на тестовете (напр. JIRA)
 Генератори на тестови данни (напр. SQL Data Generator)
 Тест драйвери и симулатори
 Тест роботи
 Capture and Replay (Selenium)
 Performance Testing (JMeter)
 Web Testing (gtmetrics.com)
 Debuggers (Eclipse)
 Static Analyzers (SonarQube)
68
Selenium
package org.openqa.selenium.example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class Example {
public static void main(String[] args) {
// Create a new instance of the html unit driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new HtmlUnitDriver();
// And now use this to visit Google
driver.get("http://www.google.com");
// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));
// Enter something to search for
element.sendKeys("Cheese!");
// Now submit the form. WebDriver will find the form for us from the element
element.submit();
// Check the title of the page
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}
Automation QA = Developer in Test
69
МС „Искърско шосе“
70
Причина No. 3: Повече бира
TOP 3 причини да станете QA инженер
https://www.facebook.com/groups/qabulgaria/
71
TOP 3 причини да станете QA инженер
Причина No. 2: Повече колежки (32%)
72
Причина No. 1: Най-щастливите IT служители са QA
The Happiest Jobs in America (Source: Career Bliss)
1. Real estate agent
2. Senior QA engineer
3. Senior sales representative
4. Construction superintendent
5. Senior application developer
6. Logistics manager
7. Construction manager
8. Executive administrative assistant
9. Network engineer
10. Assistant controller
TOP 3 причини да станете QA инженер
73
МС „Софийска Света гора“
QA Intern
Junior QA
Regular QA
Senior QA
QA Lead
QA Manager
QA Director
74
Вертикално:
Възможности за кариерно развитие
Automation
QA
Senior
Automation QA
QA Automation
Lead
QA Architect
Non-
Functional QA
Senior Non-
Functional QA
Non-Functional
QA Lead
75
Хоризонтално:
Възможности за кариерно развитие
QA
Specialist
Software
Developer
Technical
Documentation
Delivery
Specialist
Product /
Project
ManagerProcess
Engineer /
Quality
Auditor
Build
Engineer /
Operations
Specialist
Business
Analyst
Support
76
МС „Летище София“
?
http://softuni.org/courses
?
Coffee is served on board!
Peter Sabev
psabev@gmail.com
linkedin.com/in/petersabev
facebook.com/peter.sabev
@BORIME4KA
Thanks for your
attention!
License
 This course (slides, examples, demos, videos, homework, etc.)
is licensed under the "Creative Commons Attribution-
NonCommercial-ShareAlike 4.0 International" license
79
All copyrights belong to their respective owners.
Images owned by other copyright holders are used here under the guidelines of the Fair Use
provisions of United States Copyright Law.
Free Trainings @ Software University
 Software University Foundation – softuni.org
 Software University – High-Quality Education,
Profession and Job for Software Developers
 softuni.bg
 Software University @ Facebook
 facebook.com/SoftwareUniversity
 Software University @ YouTube
 youtube.com/SoftwareUniversity
 Software University Forums – forum.softuni.bg

More Related Content

What's hot

Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
Axway Appcelerator
 
Istqb 2-소프트웨어수명주기와테스팅-2015
Istqb 2-소프트웨어수명주기와테스팅-2015Istqb 2-소프트웨어수명주기와테스팅-2015
Istqb 2-소프트웨어수명주기와테스팅-2015
Jongwon Lee
 
Istqb 4-테스트설계기법-2015-2-1-배포
Istqb 4-테스트설계기법-2015-2-1-배포Istqb 4-테스트설계기법-2015-2-1-배포
Istqb 4-테스트설계기법-2015-2-1-배포
Jongwon Lee
 
Arquitetura de Automação de Teste
Arquitetura de Automação de TesteArquitetura de Automação de Teste
Arquitetura de Automação de Teste
Elias Nogueira
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
Charles D. Carson, MSSWE, CSM, ASQ-CSQE
 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesPragya Rastogi
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
Tiago Vizoto
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
Qualister
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
Qualister
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
Júlio de Lima
 
Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1
Jongwon Lee
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
Sandy Maciel
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
123abcda
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
Edureka!
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
Mineo Matsuya
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
NaveenKumar Namachivayam
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
HoangThiHien1
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter template
Rob Swoboda
 
敏捷开发技术最佳实践(统一敏捷开发过程)
敏捷开发技术最佳实践(统一敏捷开发过程)敏捷开发技术最佳实践(统一敏捷开发过程)
敏捷开发技术最佳实践(统一敏捷开发过程)
Weijun Zhong
 

What's hot (20)

Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
Istqb 2-소프트웨어수명주기와테스팅-2015
Istqb 2-소프트웨어수명주기와테스팅-2015Istqb 2-소프트웨어수명주기와테스팅-2015
Istqb 2-소프트웨어수명주기와테스팅-2015
 
Istqb 4-테스트설계기법-2015-2-1-배포
Istqb 4-테스트설계기법-2015-2-1-배포Istqb 4-테스트설계기법-2015-2-1-배포
Istqb 4-테스트설계기법-2015-2-1-배포
 
Arquitetura de Automação de Teste
Arquitetura de Automação de TesteArquitetura de Automação de Teste
Arquitetura de Automação de Teste
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
 
Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1Istqb 4-테스트설계기법-2015-1
Istqb 4-테스트설계기법-2015-1
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Qa exploratory test charter template
Qa exploratory test charter templateQa exploratory test charter template
Qa exploratory test charter template
 
敏捷开发技术最佳实践(统一敏捷开发过程)
敏捷开发技术最佳实践(统一敏捷开发过程)敏捷开发技术最佳实践(统一敏捷开发过程)
敏捷开发技术最佳实践(统一敏捷开发过程)
 

Similar to Професия QA инженер - SoftUniConf June 2015

Курс качество на софтуера - част 1
Курс качество на софтуера - част 1Курс качество на софтуера - част 1
Курс качество на софтуера - част 1
Kalin Vasilev
 
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложения
Kalin Vasilev
 
Continuous integration (d.atanasov)
Continuous integration (d.atanasov)Continuous integration (d.atanasov)
Continuous integration (d.atanasov)Deyan Atanasov
 
причини за автоматизация на тестването
причини за автоматизация на тестванетопричини за автоматизация на тестването
причини за автоматизация на тестванетоEvgeni Tsonev
 
Writing tests in Go
Writing tests in GoWriting tests in Go
Writing tests in Go
Zhivko Angelov
 
DrupalCamp Sofia 2015
DrupalCamp Sofia 2015DrupalCamp Sofia 2015
DrupalCamp Sofia 2015
Bozhidar Boshnakov
 
J-Unit тестове
J-Unit тестовеJ-Unit тестове
J-Unit тестове
Georgi Mirchev
 
Стар проект на Благо?!
Стар проект на Благо?!Стар проект на Благо?!
Стар проект на Благо?!
Благовѣстъ Петровъ
 
Nakov High Quality Code
Nakov High Quality CodeNakov High Quality Code
Nakov High Quality CodeSvetlin Nakov
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code IntroductionSvetlin Nakov
 
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
Lubomir Chorbadjiev
 
[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins
Borislav Traykov
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
Adrian Mitev
 
Linux: Relaxing Administration - New Horizons Bulgaria
Linux: Relaxing Administration - New Horizons BulgariaLinux: Relaxing Administration - New Horizons Bulgaria
Linux: Relaxing Administration - New Horizons Bulgaria
New Horizons Bulgaria
 
Visual Studio Team System 2008 Test Edition(for Software Tester)
Visual Studio Team System  2008 Test Edition(for Software Tester)Visual Studio Team System  2008 Test Edition(for Software Tester)
Visual Studio Team System 2008 Test Edition(for Software Tester)Yosifov
 
Penetration testing for dummies
Penetration testing for dummiesPenetration testing for dummies
Penetration testing for dummies
Code Runners
 
Usability Testing за нула време, с нула пари и нула опит
Usability Testing за нула време, с нула пари и нула опитUsability Testing за нула време, с нула пари и нула опит
Usability Testing за нула време, с нула пари и нула опит
Peter Sabev
 
Как да направим живота си по - лесен с добър QA подход
Как да направим живота си по - лесен с добър QA подходКак да направим живота си по - лесен с добър QA подход
Как да направим живота си по - лесен с добър QA подход
Bozhidar Boshnakov
 
High Volume Monitoring with Graphite
High Volume Monitoring with GraphiteHigh Volume Monitoring with Graphite
High Volume Monitoring with Graphite
zeridon
 

Similar to Професия QA инженер - SoftUniConf June 2015 (20)

Курс качество на софтуера - част 1
Курс качество на софтуера - част 1Курс качество на софтуера - част 1
Курс качество на софтуера - част 1
 
Тестове на уеб приложения
Тестове на уеб приложенияТестове на уеб приложения
Тестове на уеб приложения
 
Continuous integration (d.atanasov)
Continuous integration (d.atanasov)Continuous integration (d.atanasov)
Continuous integration (d.atanasov)
 
причини за автоматизация на тестването
причини за автоматизация на тестванетопричини за автоматизация на тестването
причини за автоматизация на тестването
 
Writing tests in Go
Writing tests in GoWriting tests in Go
Writing tests in Go
 
DrupalCamp Sofia 2015
DrupalCamp Sofia 2015DrupalCamp Sofia 2015
DrupalCamp Sofia 2015
 
J-Unit тестове
J-Unit тестовеJ-Unit тестове
J-Unit тестове
 
Стар проект на Благо?!
Стар проект на Благо?!Стар проект на Благо?!
Стар проект на Благо?!
 
Nakov High Quality Code
Nakov High Quality CodeNakov High Quality Code
Nakov High Quality Code
 
High Quality Code Introduction
High Quality Code IntroductionHigh Quality Code Introduction
High Quality Code Introduction
 
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
Enterprise Content Management with Nuxeo EP 5.3.0 (in bulgarian)
 
[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins[Dev.bg] CI from scratch with Jenkins
[Dev.bg] CI from scratch with Jenkins
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Linux: Relaxing Administration - New Horizons Bulgaria
Linux: Relaxing Administration - New Horizons BulgariaLinux: Relaxing Administration - New Horizons Bulgaria
Linux: Relaxing Administration - New Horizons Bulgaria
 
Visual Studio Team System 2008 Test Edition(for Software Tester)
Visual Studio Team System  2008 Test Edition(for Software Tester)Visual Studio Team System  2008 Test Edition(for Software Tester)
Visual Studio Team System 2008 Test Edition(for Software Tester)
 
Penetration testing for dummies
Penetration testing for dummiesPenetration testing for dummies
Penetration testing for dummies
 
Usability Testing за нула време, с нула пари и нула опит
Usability Testing за нула време, с нула пари и нула опитUsability Testing за нула време, с нула пари и нула опит
Usability Testing за нула време, с нула пари и нула опит
 
Sample IT Test 13
Sample IT Test 13Sample IT Test 13
Sample IT Test 13
 
Как да направим живота си по - лесен с добър QA подход
Как да направим живота си по - лесен с добър QA подходКак да направим живота си по - лесен с добър QA подход
Как да направим живота си по - лесен с добър QA подход
 
High Volume Monitoring with Graphite
High Volume Monitoring with GraphiteHigh Volume Monitoring with Graphite
High Volume Monitoring with Graphite
 

More from Peter Sabev

Burnout - синдром на професионалното изчерпване
Burnout - синдром на професионалното изчерпванеBurnout - синдром на професионалното изчерпване
Burnout - синдром на професионалното изчерпване
Peter Sabev
 
Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)
Peter Sabev
 
Ако можех да се клонирам... Можеш! Делегирай!
Ако можех да се клонирам...Можеш! Делегирай!Ако можех да се клонирам...Можеш! Делегирай!
Ако можех да се клонирам... Можеш! Делегирай!
Peter Sabev
 
Reporting bugs: Errors Made and Lessons Learned
Reporting bugs: Errors Made and Lessons LearnedReporting bugs: Errors Made and Lessons Learned
Reporting bugs: Errors Made and Lessons Learned
Peter Sabev
 
Петър Събев - Как да работим с англичани
Петър Събев - Как да работим с англичаниПетър Събев - Как да работим с англичани
Петър Събев - Как да работим с англичани
Peter Sabev
 
Veselin Berov - Testing in the World of Information Management
Veselin Berov - Testing in the World of Information ManagementVeselin Berov - Testing in the World of Information Management
Veselin Berov - Testing in the World of Information Management
Peter Sabev
 
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High Scale
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High ScaleSlavy Slavov - 6 Common Challenges Setting Up Selenium in High Scale
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High Scale
Peter Sabev
 
Working with UK people (for Bulgarians)
Working with UK people (for Bulgarians)Working with UK people (for Bulgarians)
Working with UK people (for Bulgarians)
Peter Sabev
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
Peter Sabev
 
RuseConf 2014 - Как да създадем съвършен екип с несъвършени хора
RuseConf 2014 - Как да създадем съвършен екип с несъвършени хораRuseConf 2014 - Как да създадем съвършен екип с несъвършени хора
RuseConf 2014 - Как да създадем съвършен екип с несъвършени хора
Peter Sabev
 

More from Peter Sabev (10)

Burnout - синдром на професионалното изчерпване
Burnout - синдром на професионалното изчерпванеBurnout - синдром на професионалното изчерпване
Burnout - синдром на професионалното изчерпване
 
Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)Secure Software: Action, Comedy or Drama? (2017 edition)
Secure Software: Action, Comedy or Drama? (2017 edition)
 
Ако можех да се клонирам... Можеш! Делегирай!
Ако можех да се клонирам...Можеш! Делегирай!Ако можех да се клонирам...Можеш! Делегирай!
Ако можех да се клонирам... Можеш! Делегирай!
 
Reporting bugs: Errors Made and Lessons Learned
Reporting bugs: Errors Made and Lessons LearnedReporting bugs: Errors Made and Lessons Learned
Reporting bugs: Errors Made and Lessons Learned
 
Петър Събев - Как да работим с англичани
Петър Събев - Как да работим с англичаниПетър Събев - Как да работим с англичани
Петър Събев - Как да работим с англичани
 
Veselin Berov - Testing in the World of Information Management
Veselin Berov - Testing in the World of Information ManagementVeselin Berov - Testing in the World of Information Management
Veselin Berov - Testing in the World of Information Management
 
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High Scale
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High ScaleSlavy Slavov - 6 Common Challenges Setting Up Selenium in High Scale
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High Scale
 
Working with UK people (for Bulgarians)
Working with UK people (for Bulgarians)Working with UK people (for Bulgarians)
Working with UK people (for Bulgarians)
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
 
RuseConf 2014 - Как да създадем съвършен екип с несъвършени хора
RuseConf 2014 - Как да създадем съвършен екип с несъвършени хораRuseConf 2014 - Как да създадем съвършен екип с несъвършени хора
RuseConf 2014 - Как да създадем съвършен екип с несъвършени хора
 

Професия QA инженер - SoftUniConf June 2015

  • 1. Професия QA инженер Peter Sabev QA Manager www.psabev.info Software University http://softuni.bg
  • 2. 2 Запознайте се с Борислав (a.k.a. Българският Jason Statham) !(Борислав) Борислав www.qachallengeaccepted.com
  • 3. 3 Трябва да разкажеш на тези хора за цяла професия, все едно си лафим в метрото и имаш време от центъра до летището…
  • 5. 5 Няколко бъга в любими игри…
  • 6. 6
  • 7. 7
  • 8. 8
  • 9. 9
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. 13 TOP-5 „любими“ бъга 5. Бъг в софтуера на Мичиганския затвор погрешно причинява предсрочно освобождаване на 23 тежко проявени затворници…
  • 14. 14 TOP-5 „любими“ бъга 4. Грешка във firmware на мрежова карта причинява проблем в РВД-системата на Лос Анджелис, заради което 17 000 самолета са свалени и над 8 часа никой не лети от и към САЩ
  • 15. 15 TOP-5 „любими“ бъга 3. healthcare.gov Новият сайт на американското министерство на здравеопазването просто не е бил тестван за натоварване от повече потребители. При обявяването му всички сървъри се сриват. Поправката струва $600 000 000.
  • 16. 16 TOP-5 „любими“ бъга 2. Поради объркване на базите данни, системата за трафик-нарушения в Париж вписва пощенския код вместо кода на нарушението. В резултат вместо глоба за превишена скорост или неправилно престрояване, гражданите получават такива за тежки престъпления като убийство, грабеж или
  • 17. 17 TOP-5 „любими“ бъга 1. Advanced Field Artillery Tactical Data System По време на военно учение във Fort Drum, двама войници пропускат да въведат разстояние до целта в артилерийската система. Вместо съобщение за грешка, системата приема 0 за стойност по подразбиране и ги взривява.
  • 18. 18 Автомобили, магистрали, влакове, самолети, летища, атомни електроцентрали и електроуреди – днес всички те се управляват от софтуер! Неадекватното тестване може да струва пари, имидж и дори човешки животи!!! Помислете…
  • 19. 19 Ето затова са нужни QA инженерите!
  • 20. 20 МС „СУ Св. Климент Охридски“
  • 21. 21 Quality Assurance (Осигуряване на качеството) e процес, включващ всички действия в жизнения цикъл на даден софтуерен продукт, концентрирани върху планирането, подготовката и развитието на продукта и неговата работа, с три основни цели: 1. Да се определи дали изискванията са удовлетворени; 2. Да се потвърди, че продуктът работи по предназначение; 3. Да се открият грешки (a.k.a. бъгове, дефекти, проблеми). Какво е QA?
  • 23. 23 Такъв, за който са удовлетворени всички функционални и нефункционални изисквания. Какво е качествен софтуер?
  • 24. 24 Пример: Windows Calculator 2+2 трябва да дава 4 Софтуерът трябва да е ФУНКЦИОНАЛЕН!
  • 25. 25 2+2 трябва ВИНАГИ да дава 4… (представете си, ако това се случваше само в 62% от случаите) Софтуерът трябва да е НАДЕЖДЕН!
  • 26. 26 Всеки софтуер трябва да е удобен за ползване… Представете си ей такава клавиатура: Софтуерът трябва да е ПОЛЗВАЕМ!
  • 27. 27 Всеки софтуер трябва да работи ефективно спрямо ситуацията и ресурсите. Представете си при „2+2“ да се случва това: Софтуерът трябва да е ЕФЕКТИВЕН!
  • 28. 28 Промени и корекции трябва да се извършват лесно. Софтуерът трябва да може ДА СЕ ПОДДЪРЖА! Нова функционалност
  • 29. 29 Софтуерът трябва да работи на различни среди и платформи, както софтуерни, така и хардуерни… Софтуерът трябва да е ПРЕНОСИМ!
  • 30. 30 QA инженерът трябва да провери всичко това!
  • 31. 31 МС „Жолио-Кюри“ (слезте тук за СофтУни)
  • 33. 33 Software Developer знае една технология почти съвършено (напр. Java), но рядко има понятие от хардуер, мрежи, операционни системи, системни процеси, стандарти, маркетингово позициониране и конкурентни пазари, UI/UX, load balancing и др. Един добър Quality Assurance Engineer знае по малко за всички тези неща, макар рядко да има понятие от тях в дълбочина… QA vs. Developer
  • 34. 34 МС „Г. М. Димитров“
  • 35. 35 Как се тества? Изберете картинка (от 1 до 9)
  • 36. 36 Резултат 1. Чувствителен и разсъдлив 2. Независим и необикновен 3. Динамичен и отворен 4. Хармоничен и здраво стъпил на земята 5. Професионалист и самоуверен 6. Дискретен и миролюбив 7. Весел и игрив 8. Романтичен и мечтател 9. Аналитичен и надежден
  • 37. 37 Схемата е една и съща! SUT (System Under Test) Входни данни Изходни данни Резултат Очакван резултат QA Failed
  • 40. 40 Тестов оракул SUT (System Under Test) Входни данни Изходни данни Резултат Очакван резултатTest Oracle Спецификации, договори, подобни продукти, стари версии на същия продукт, клиентски очаквания, стандарти, закони и др.
  • 41. 41 Black Box Testing Не знаем как работи системата Входни данни Изходни данни
  • 42. 42 White (Glass) Box Testing Знаем точно как работи системата Входни данни Изходни данни
  • 43. 43 Предимство на White Box Testing Знаейки как работи една система, можем да покрием максимална функционалност с минимален брой тестове.
  • 45. Test Plan 45 Тестов план, тестови случаи и др. Test SuiteTest SuiteTest Suite (Test Script) (Test Scenario) 1. Test Step 2. Test Step 3. Test Step 4. Test Step Test Case Test Case People & Responsibilities Schedule & Enviroments
  • 46. 46 1. Натиснете Start бутона в долния ляв ъгъл. 2. Намерете Calculator и щракнете с левия бутон на мишката. (Уверете се, че калкулаторът се е появил на екрана.) 3. Въведете: 2+2 4. Натиснете ENTER Очакван резултат: На екрана се изписва „4“. Няма друга промяна в системата, няма съобщения за грешки. Примерен тестов случай (test case)
  • 48. 48 Видове тестване Тестване Функционално Тестване за приемане от крайния потребител Тестване на интеграцията на системите Тестване на системата Тестване на интеграцията на компонентите Тестване на компонента Нефункционално
  • 49. 49 V-Model Тестване за приемане от крайния потребител (User Acceptance Testing) Тестване на интеграцията на системите (System Integration Testing) Тестване на системата (System Testing) Тестване на интеграцията на компонентите (Component Integration Testing) Тестване на компонента (Unit/Component Testing) Бизнес изисквания (Business Requirements) Функционални спецификации (Functional Specifications) Технически спецификации (Technical Specifications) Програмни спецификации (Program Specifications) Код (Source Code)
  • 51. 51 Нефункционално тестване Тестване Функционално Нефункционално Performance Testing Load Testing Stress Testing Endurance Testing Volume Testing Scalability Testing Usability Testing … и др.
  • 52. 52 1000 потребители, правещи 1 KB трафик на сайт в рамките на 1 минута се нарича LOAD TESTING 1 потребител, качващ 1 файл с размер 10 GB на сайт в рамките на 1 час се нарича VOLUME TESTING 1 потребител, работещ на сайт в рамките на 100 часа без прекъсване се нарича ENDURANCE TESTING (всякакво комбиниране е допустимо) Load vs. Volume vs. Endurance Testing
  • 53. 53 Performance vs. Load vs. Stress Testing
  • 54. 54 Performance vs. Load vs. Stress Testing Капацитет: 40 едновременни клиента Stress Testing Load Testing Performance Testing Reliability: 95% (при 5% върнати грешки) Scalability: При 20+ потребители, се включва load balancer
  • 57. 57  Penetration Testing  SQL Injection  OS Injection  Cross-Site Scripting (XSS)  Cross-Site Request Forgery (XSRF)  Other  Vulnerability Scanning  Security Audits Security Testing
  • 58. 58  Тестване на инсталацията (Installation Testing)  Инсталира ли се продуктът?  Правилно ли се ъпгрейдва от всяка до всяка версия?  Тестване на документацията (Documentation Testing)  Всичко ли е документирано?  Вярна и точна ли е?  Тестване на съвместимостта (Compatibility Testing)  Различни операционни системи, платформи и др.  Тестване на възстановяването (Recoverability Testing)  Ако спре токът, нетът, няма дисково място и тем подобни  И много други… Други
  • 59. 59 МС „Интер Експо Център – Цариградско шосе“
  • 61. 61 Когато открием бъг, трябва да го опишем:  Заглавие – кратко, ясно и с един поглед да се разбира  Подробно описание – стъпки за репродуциране, очакван и реален резултат  Приоритет и потенциална опасност – колко спешно трябва да се оправи и какви щети може да нанесе  Screenshots, логове, дъмпове и друга важна информация Bug Тracking
  • 66. 66 Regression Testing е повтарящо се тестване на текущата функционалност, за да се уверим, че оправяйки даден бъг или добавяйки нова функционалност не сме увредили вече съществуващата. Може да бъде ръчно и автоматично. Регресионно тестване и автоматизация
  • 67. 67 Инструменти за автоматизирано тестване  Администрация и управление на тестовете (напр. JIRA)  Генератори на тестови данни (напр. SQL Data Generator)  Тест драйвери и симулатори  Тест роботи  Capture and Replay (Selenium)  Performance Testing (JMeter)  Web Testing (gtmetrics.com)  Debuggers (Eclipse)  Static Analyzers (SonarQube)
  • 68. 68 Selenium package org.openqa.selenium.example; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.htmlunit.HtmlUnitDriver; public class Example { public static void main(String[] args) { // Create a new instance of the html unit driver // Notice that the remainder of the code relies on the interface, // not the implementation. WebDriver driver = new HtmlUnitDriver(); // And now use this to visit Google driver.get("http://www.google.com"); // Find the text input element by its name WebElement element = driver.findElement(By.name("q")); // Enter something to search for element.sendKeys("Cheese!"); // Now submit the form. WebDriver will find the form for us from the element element.submit(); // Check the title of the page System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } } Automation QA = Developer in Test
  • 70. 70 Причина No. 3: Повече бира TOP 3 причини да станете QA инженер https://www.facebook.com/groups/qabulgaria/
  • 71. 71 TOP 3 причини да станете QA инженер Причина No. 2: Повече колежки (32%)
  • 72. 72 Причина No. 1: Най-щастливите IT служители са QA The Happiest Jobs in America (Source: Career Bliss) 1. Real estate agent 2. Senior QA engineer 3. Senior sales representative 4. Construction superintendent 5. Senior application developer 6. Logistics manager 7. Construction manager 8. Executive administrative assistant 9. Network engineer 10. Assistant controller TOP 3 причини да станете QA инженер
  • 74. QA Intern Junior QA Regular QA Senior QA QA Lead QA Manager QA Director 74 Вертикално: Възможности за кариерно развитие Automation QA Senior Automation QA QA Automation Lead QA Architect Non- Functional QA Senior Non- Functional QA Non-Functional QA Lead
  • 75. 75 Хоризонтално: Възможности за кариерно развитие QA Specialist Software Developer Technical Documentation Delivery Specialist Product / Project ManagerProcess Engineer / Quality Auditor Build Engineer / Operations Specialist Business Analyst Support
  • 78. ? Coffee is served on board! Peter Sabev psabev@gmail.com linkedin.com/in/petersabev facebook.com/peter.sabev @BORIME4KA Thanks for your attention!
  • 79. License  This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" license 79 All copyrights belong to their respective owners. Images owned by other copyright holders are used here under the guidelines of the Fair Use provisions of United States Copyright Law.
  • 80. Free Trainings @ Software University  Software University Foundation – softuni.org  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.bg  Software University @ Facebook  facebook.com/SoftwareUniversity  Software University @ YouTube  youtube.com/SoftwareUniversity  Software University Forums – forum.softuni.bg