80
Професия QA инженер Peter Sabev QA Manager www.psabev.info Software University http:// softuni.bg

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

Embed Size (px)

Citation preview

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

Професия QA инженер

Peter SabevQA Managerwww.psabev.info Software Universityhttp://softuni.bg

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

2

Запознайте се с Борислав(a.k.a. Българският Jason Statham)

!(Борислав)Борислав

www.qachallengeaccepted.com

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

3

Трябва да разкажешна тези хора за цяла

професия, все едно си лафим в метрото и имаш

време от центъра до летището…

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

4

МС „Сердика“

Единствената (засега) трансферна метростанция в България

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

5

Няколко бъга в любими игри…

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

6

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

7

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

8

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

9

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

10

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

11

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

12

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

13

TOP-5 „любими“ бъга

5. Бъг в софтуера на Мичиганския затвор погрешно причинява

предсрочно освобождаване на 23 тежко проявени

затворници…

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

14

TOP-5 „любими“ бъга

4. Грешка във firmware на мрежова карта причинява

проблем в РВД-системата на Лос Анджелис, заради което 17 000 самолета са свалени и над 8 часа никой не лети от и

към САЩ

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

15

TOP-5 „любими“ бъга

3. healthcare.gov

Новият сайт на американското министерство на здравеопазването

просто не е бил тестван за натоварване от повече

потребители. При обявяването му всички сървъри се сриват.

Поправката струва $600 000 000.

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

16

TOP-5 „любими“ бъга

2. Поради объркване на базите данни, системата за трафик-нарушения в Париж

вписва пощенския код вместо кода на нарушението. В резултат вместо глоба за превишена скорост или

неправилно престрояване, гражданите получават такива за тежки престъпления като

убийство, грабеж или изнасилване.

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

17

TOP-5 „любими“ бъга

1. Advanced Field ArtilleryTactical Data System

По време на военно учение във Fort Drum, двама войници

пропускат да въведат разстояние до целта в артилерийската

система. Вместо съобщение за грешка, системата приема 0 за стойност по подразбиране и ги

взривява.

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

18

Автомобили, магистрали, влакове, самолети, летища, атомни електроцентрали и електроуреди – днес всички те се

управляват от софтуер!

Неадекватното тестване може да струва пари, имидж и дори човешки животи!!!

Помислете…

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

19

Ето затова са нужни QA инженерите!

QA

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

20

МС „СУ Св. Климент Охридски“

Единствената метростанция с подвижни тротоари

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

21

Quality Assurance (Осигуряване на качеството) e процес, включващ всички действия в жизнения цикъл на даден софтуерен продукт, концентрирани върху планирането, подготовката и развитието на продукта и неговата работа, с три основни цели:

1. Да се определи дали изискванията са удовлетворени;

2. Да се потвърди, че продуктът работи по предназначение;

3. Да се открият грешки (a.k.a. бъгове, дефекти, проблеми).

Какво е QA?

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

22

МС „Стадион Васил Левски“

Оформена в цветовете на слайдовете от тази презентация

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

23

Такъв, за който са удовлетворени всички функционални и нефункционални изисквания.

Какво е качествен софтуер?

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

24

Пример: Windows Calculator

2+2 трябва да дава 4

Софтуерът трябва да е ФУНКЦИОНАЛЕН!

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

25

2+2 трябва ВИНАГИ да дава 4…

(представете си, ако това се случваше само в 62% от случаите)

Софтуерът трябва да е НАДЕЖДЕН!

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

26

Всеки софтуер трябва да е удобен за ползване…

Представете си ей такава клавиатура:

Софтуерът трябва да е ПОЛЗВАЕМ!

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

27

Всеки софтуер трябва да работи ефективно спрямо ситуацията и ресурсите. Представете си при „2+2“ да се случва това:

Софтуерът трябва да е ЕФЕКТИВЕН!

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

28

Промени и корекции трябва да се извършват лесно.

Софтуерът трябва да може ДА СЕ ПОДДЪРЖА!

Нова функционалност

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

29

Софтуерът трябва да работи на различни среди и платформи, както софтуерни, така и хардуерни…

Софтуерът трябва да е ПРЕНОСИМ!

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

30

QA инженерът трябва да провери всичко това!

QA

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

31

МС „Жолио-Кюри“ (слезте тук за СофтУни)

Последно има ли тире между „Жолио“ и „Кюри“?

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

32

DISCLAIMER: Без мишкоблудци!

QA vs. Developer

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

33

Software Developer знае една технология почти съвършено (напр. Java), но рядко има понятие от хардуер, мрежи, операционни системи, системни процеси, стандарти, маркетингово позициониране и конкурентни пазари,

UI/UX, load balancing и др.

Един добър Quality Assurance Engineer знае по малко за всички тези неща, макар рядко да има понятие от тях в

дълбочина…

QA vs. Developer

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

34

МС „Г. М. Димитров“

Излизаме над земната повърхност…

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

35

Как се тества?

Изберете картинка(от 1 до 9)

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

36

Резултат

1. Чувствителен и разсъдлив2. Независим и необикновен3. Динамичен и отворен4. Хармоничен и здраво стъпил

на земята5. Професионалист и

самоуверен6. Дискретен и миролюбив7. Весел и игрив8. Романтичен и мечтател9. Аналитичен и надежден

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

37

Схемата е една и съща!

SUT(System Under Test)

Входниданни

Изходниданни

Резултат

Очакван резултат

QA Failed

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

38

Калкулатор

2+2 4

Очакван резултат:

4

Реален резултат:

4

QA Passed

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

39

Човек

8

Очакван резултат:

?

Реален резултат:

8

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

40

Тестов оракул

SUT(System Under Test)

Входниданни

Изходниданни

Резултат

Очакван резултатTest Oracle

Спецификации, договори, подобни продукти, стари версии на същия продукт, клиентски

очаквания, стандарти, закони и др.

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

41

Black Box Testing

Не знаем как работи системата

Входниданни

Изходниданни

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

42

White (Glass) Box Testing

Знаем точно как работи системата

Входниданни

Изходниданни

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

43

Предимство на White Box Testing

Знаейки как работи една система, можем да

покрием максимална функционалност с

минимален брой тестове.

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

44

МС „Мусагеница“

Кръстена на бог Аполон (Мусагет)?

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

45

Test Plan

Тестов план, тестови случаи и др.

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

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

46

1. Натиснете Start бутона в долния ляв ъгъл.

2. Намерете Calculator и щракнете с левия бутон на мишката. (Уверете се, че калкулаторът се е появил на екрана.)

3. Въведете: 2+2

4. Натиснете ENTER

Очакван резултат:

На екрана се изписва „4“.

Няма друга промяна в системата, няма съобщения за грешки.

Примерен тестов случай (test case)

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

47

МС „Младост 1“

Който е към Бизнес парка, да слиза тук и да чака…

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

48

Видове тестване

ТестванеФункционално

Тестване за приемане от

крайния потребител

Тестване на интеграцията на

системите

Тестване на системата

Тестване на интеграцията на компонентите

Тестване на компонента

Нефункционално

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

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)

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

50

МС „Младост 3“

Директно на 3: защото „Втора младост“ е пенсионерски вестник

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

51

Нефункционално тестване

ТестванеФункционално

Нефункционално

Performance Testing

Load Testing

Stress Testing

Endurance Testing

Volume Testing

Scalability Testing

Usability Testing

… и др.

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

52

1000 потребители, правещи 1 KB трафик на сайт в рамките на 1 минута се нарича LOAD TESTING

1 потребител, качващ 1 файл с размер 10 GB на сайт в рамките на 1 час се нарича VOLUME TESTING

1 потребител, работещ на сайт в рамките на 100 часа без прекъсване се нарича ENDURANCE TESTING

(всякакво комбиниране е допустимо)

Load vs. Volume vs. Endurance Testing

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

53

Performance vs. Load vs. Stress Testing

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

54

Performance vs. Load vs. Stress Testing

Капацитет: 40 едновременни клиента

Stress Testing

Load Testing

Performance Testing

Reliability: 95% (при 5% върнати грешки)

Scalability: При 20+ потребители, се включва load balancer

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

55

Usability с Heatmap

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

56

Usability с A/B Testing

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

57

Penetration Testing SQL Injection OS Injection Cross-Site Scripting (XSS) Cross-Site Request Forgery (XSRF) Other

Vulnerability Scanning Security Audits

Security Testing

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

58

Тестване на инсталацията (Installation Testing) Инсталира ли се продуктът? Правилно ли се ъпгрейдва от всяка до всяка версия?

Тестване на документацията (Documentation Testing) Всичко ли е документирано? Вярна и точна ли е?

Тестване на съвместимостта (Compatibility Testing) Различни операционни системи, платформи и др.

Тестване на възстановяването (Recoverability Testing) Ако спре токът, нетът, няма дисково място и тем подобни

И много други…

Други

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

59

МС „Интер Експо Център – Цариградско шосе“

Защото никой не се е сетил за по-кратко име…

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

60

„Бъговете“ са навсякъде около нас

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

61

Когато открием бъг, трябва да го опишем: Заглавие – кратко, ясно и с един поглед да се разбира Подробно описание – стъпки за репродуциране,

очакван и реален резултат Приоритет и потенциална опасност – колко спешно

трябва да се оправи и какви щети може да нанесе Screenshots, логове, дъмпове и друга важна

информация

Bug Тracking

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

62

Bug Tracking Software

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

63

Bug Tracking Software

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

64

Bug Tracking Software - JIRA

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

65

МС „Дружба“

Едва на 3 месеца…

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

66

Regression Testing е повтарящо се тестване на

текущата функционалност, за да се уверим, че оправяйки

даден бъг или добавяйки нова функционалност не сме

увредили вече съществуващата.

Може да бъде ръчно и автоматично.

Регресионно тестване и автоматизация

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

67

Инструменти за автоматизирано тестване

Администрация и управление на тестовете (напр. JIRA) Генератори на тестови данни (напр. SQL Data Generator) Тест драйвери и симулатори Тест роботи

Capture and Replay (Selenium) Performance Testing (JMeter) Web Testing (gtmetrics.com) Debuggers (Eclipse) Static Analyzers (SonarQube)

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

68

Seleniumpackage 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

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

69

МС „Искърско шосе“

За втори път – връзка с БДЖ

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

70

Причина No. 3: Повече бираTOP 3 причини да станете QA инженер

https://www.facebook.com/groups/qabulgaria/

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

71

TOP 3 причини да станете QA инженер

Причина No. 2: Повече колежки (32%)

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

72

Причина No. 1: Най-щастливите IT служители са QAThe Happiest Jobs in America (Source: Career Bliss)

1. Real estate agent

2. Senior QA engineer3. 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 инженер

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

73

МС „Софийска Света гора“

Нито е света, нито е гора и почти не е софийска…

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

74

QA Intern

Junior QA

Regular QA

Senior QA

QA Lead

QA Manager

QA DirectorВертикално:

Възможности за кариерно развитие

Automation QA

Senior Automation QA

QA Automation Lead

QA Architect

Non-Functional QA

Senior Non-Functional QA

Non-Functional QA Lead

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

75

Хоризонтално:

Възможности за кариерно развитие

QA Specialist

SoftwareDeveloper

TechnicalDocumentation

Delivery Specialist

Product / Project

ManagerProcess Engineer /

Quality Auditor

Build Engineer / Operations Specialist

Business Analyst

Support

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

76

МС „Летище София“

Крайна станция. Приятен полет!

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

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.

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

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