O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Професия 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 на
мрежова карта причинява
проблем в РВД-системата на
Лос Анджелис, заради к...
15
TOP-5 „любими“ бъга
3. healthcare.gov
Новият сайт на американското
министерство на здравеопазването
просто не е бил тес...
16
TOP-5 „любими“ бъга
2. Поради объркване на
базите данни, системата за
трафик-нарушения в Париж
вписва пощенския код вме...
17
TOP-5 „любими“ бъга
1. Advanced Field Artillery
Tactical Data System
По време на военно учение във
Fort Drum, двама вой...
18
Автомобили, магистрали, влакове, самолети, летища,
атомни електроцентрали и електроуреди – днес всички те се
управляват...
19
Ето затова са нужни QA инженерите!
20
МС „СУ Св. Климент Охридски“
21
Quality Assurance (Осигуряване на качеството) e процес,
включващ всички действия в жизнения цикъл на даден
софтуерен пр...
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), но рядко има понятие от хардуер, мрежи,
операцион...
34
МС „Г. М. Димитров“
35
Как се тества?
Изберете картинка
(от 1 до 9)
36
Резултат
1. Чувствителен и разсъдлив
2. Независим и необикновен
3. Динамичен и отворен
4. Хармоничен и здраво стъпил
на...
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...
46
1. Натиснете Start бутона в долния ляв ъгъл.
2. Намерете Calculator и щракнете с левия бутон на мишката.
(Уверете се, ч...
47
МС „Младост 1“
48
Видове тестване
Тестване
Функционално
Тестване за
приемане от
крайния потребител
Тестване на
интеграцията на
системите
...
49
V-Model
Тестване за приемане от
крайния потребител
(User Acceptance Testing)
Тестване на интеграцията
на системите
(Sys...
50
МС „Младост 3“
51
Нефункционално тестване
Тестване
Функционално
Нефункционално
Performance Testing
Load Testing
Stress Testing
Endurance ...
52
1000 потребители, правещи 1 KB трафик на сайт в рамките на
1 минута се нарича LOAD TESTING
1 потребител, качващ 1 файл ...
53
Performance vs. Load vs. Stress Testing
54
Performance vs. Load vs. Stress Testing
Капацитет: 40 едновременни клиента
Stress Testing
Load Testing
Performance Test...
55
Usability с Heatmap
56
Usability с A/B Testing
57
 Penetration Testing
 SQL Injection
 OS Injection
 Cross-Site Scripting (XSS)
 Cross-Site Request Forgery (XSRF)
...
58
 Тестване на инсталацията (Installation Testing)
 Инсталира ли се продуктът?
 Правилно ли се ъпгрейдва от всяка до в...
59
МС „Интер Експо Център – Цариградско шосе“
60
„Бъговете“ са навсякъде около нас
61
Когато открием бъг, трябва да го опишем:
 Заглавие – кратко, ясно и с един поглед да се разбира
 Подробно описание – ...
62
Bug Tracking Software
63
Bug Tracking Software
64
Bug Tracking Software - JIRA
65
МС „Дружба“
66
Regression Testing е
повтарящо се тестване на
текущата функционалност, за
да се уверим, че оправяйки
даден бъг или доба...
67
Инструменти за автоматизирано тестване
 Администрация и управление на тестовете (напр. JIRA)
 Генератори на тестови д...
68
Selenium
package org.openqa.selenium.example;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
impo...
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 age...
73
МС „Софийска Света гора“
QA Intern
Junior QA
Regular QA
Senior QA
QA Lead
QA Manager
QA Director
74
Вертикално:
Възможности за кариерно развитие
Au...
75
Хоризонтално:
Възможности за кариерно развитие
QA
Specialist
Software
Developer
Technical
Documentation
Delivery
Specia...
76
МС „Летище София“
?
http://softuni.org/courses
?
Coffee is served on board!
Peter Sabev
psabev@gmail.com
linkedin.com/in/petersabev
facebook.com/peter.sabev
@BORIME4KA
T...
License
 This course (slides, examples, demos, videos, homework, etc.)
is licensed under the "Creative Commons Attributio...
Free Trainings @ Software University
 Software University Foundation – softuni.org
 Software University – High-Quality E...
Próximos SlideShares
Carregando em…5
×

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

1.306 visualizações

Publicada em

QA инженерите се занимават с осигуряване на качеството на софтуера, тестване и цялостно управление на процеса на разработка. Освен да търсят бъгове, да ги описват и да ги проследяват до отстраняването им, QA инженерите се занимават и с програмиране на автоматизирани инструменти за тестване, които осигуряват повторяемост на тестовете и осигуряват качество в дългосрочен план. В лекцията ще поговорим за всичко това с много примери от реалния живот на един QA инженер.

Publicada em: Software

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

  1. 1. Професия QA инженер Peter Sabev QA Manager www.psabev.info Software University http://softuni.bg
  2. 2. 2 Запознайте се с Борислав (a.k.a. Българският Jason Statham) !(Борислав) Борислав www.qachallengeaccepted.com
  3. 3. 3 Трябва да разкажеш на тези хора за цяла професия, все едно си лафим в метрото и имаш време от центъра до летището…
  4. 4. 4 МС „Сердика“
  5. 5. 5 Няколко бъга в любими игри…
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. 9
  10. 10. 10
  11. 11. 11
  12. 12. 12
  13. 13. 13 TOP-5 „любими“ бъга 5. Бъг в софтуера на Мичиганския затвор погрешно причинява предсрочно освобождаване на 23 тежко проявени затворници…
  14. 14. 14 TOP-5 „любими“ бъга 4. Грешка във firmware на мрежова карта причинява проблем в РВД-системата на Лос Анджелис, заради което 17 000 самолета са свалени и над 8 часа никой не лети от и към САЩ
  15. 15. 15 TOP-5 „любими“ бъга 3. healthcare.gov Новият сайт на американското министерство на здравеопазването просто не е бил тестван за натоварване от повече потребители. При обявяването му всички сървъри се сриват. Поправката струва $600 000 000.
  16. 16. 16 TOP-5 „любими“ бъга 2. Поради объркване на базите данни, системата за трафик-нарушения в Париж вписва пощенския код вместо кода на нарушението. В резултат вместо глоба за превишена скорост или неправилно престрояване, гражданите получават такива за тежки престъпления като убийство, грабеж или
  17. 17. 17 TOP-5 „любими“ бъга 1. Advanced Field Artillery Tactical Data System По време на военно учение във Fort Drum, двама войници пропускат да въведат разстояние до целта в артилерийската система. Вместо съобщение за грешка, системата приема 0 за стойност по подразбиране и ги взривява.
  18. 18. 18 Автомобили, магистрали, влакове, самолети, летища, атомни електроцентрали и електроуреди – днес всички те се управляват от софтуер! Неадекватното тестване може да струва пари, имидж и дори човешки животи!!! Помислете…
  19. 19. 19 Ето затова са нужни QA инженерите!
  20. 20. 20 МС „СУ Св. Климент Охридски“
  21. 21. 21 Quality Assurance (Осигуряване на качеството) e процес, включващ всички действия в жизнения цикъл на даден софтуерен продукт, концентрирани върху планирането, подготовката и развитието на продукта и неговата работа, с три основни цели: 1. Да се определи дали изискванията са удовлетворени; 2. Да се потвърди, че продуктът работи по предназначение; 3. Да се открият грешки (a.k.a. бъгове, дефекти, проблеми). Какво е QA?
  22. 22. 22 МС „Стадион Васил Левски“
  23. 23. 23 Такъв, за който са удовлетворени всички функционални и нефункционални изисквания. Какво е качествен софтуер?
  24. 24. 24 Пример: Windows Calculator 2+2 трябва да дава 4 Софтуерът трябва да е ФУНКЦИОНАЛЕН!
  25. 25. 25 2+2 трябва ВИНАГИ да дава 4… (представете си, ако това се случваше само в 62% от случаите) Софтуерът трябва да е НАДЕЖДЕН!
  26. 26. 26 Всеки софтуер трябва да е удобен за ползване… Представете си ей такава клавиатура: Софтуерът трябва да е ПОЛЗВАЕМ!
  27. 27. 27 Всеки софтуер трябва да работи ефективно спрямо ситуацията и ресурсите. Представете си при „2+2“ да се случва това: Софтуерът трябва да е ЕФЕКТИВЕН!
  28. 28. 28 Промени и корекции трябва да се извършват лесно. Софтуерът трябва да може ДА СЕ ПОДДЪРЖА! Нова функционалност
  29. 29. 29 Софтуерът трябва да работи на различни среди и платформи, както софтуерни, така и хардуерни… Софтуерът трябва да е ПРЕНОСИМ!
  30. 30. 30 QA инженерът трябва да провери всичко това!
  31. 31. 31 МС „Жолио-Кюри“ (слезте тук за СофтУни)
  32. 32. 32 DISCLAIMER: Без мишкоблудци! QA vs. Developer
  33. 33. 33 Software Developer знае една технология почти съвършено (напр. Java), но рядко има понятие от хардуер, мрежи, операционни системи, системни процеси, стандарти, маркетингово позициониране и конкурентни пазари, UI/UX, load balancing и др. Един добър Quality Assurance Engineer знае по малко за всички тези неща, макар рядко да има понятие от тях в дълбочина… QA vs. Developer
  34. 34. 34 МС „Г. М. Димитров“
  35. 35. 35 Как се тества? Изберете картинка (от 1 до 9)
  36. 36. 36 Резултат 1. Чувствителен и разсъдлив 2. Независим и необикновен 3. Динамичен и отворен 4. Хармоничен и здраво стъпил на земята 5. Професионалист и самоуверен 6. Дискретен и миролюбив 7. Весел и игрив 8. Романтичен и мечтател 9. Аналитичен и надежден
  37. 37. 37 Схемата е една и съща! SUT (System Under Test) Входни данни Изходни данни Резултат Очакван резултат QA Failed
  38. 38. 38 Калкулатор 2+2 4 Очакван резултат: 4 Реален резултат: 4 QA Passed
  39. 39. 39 Човек 8 Очакван резултат: ? Реален резултат: 8
  40. 40. 40 Тестов оракул SUT (System Under Test) Входни данни Изходни данни Резултат Очакван резултатTest Oracle Спецификации, договори, подобни продукти, стари версии на същия продукт, клиентски очаквания, стандарти, закони и др.
  41. 41. 41 Black Box Testing Не знаем как работи системата Входни данни Изходни данни
  42. 42. 42 White (Glass) Box Testing Знаем точно как работи системата Входни данни Изходни данни
  43. 43. 43 Предимство на White Box Testing Знаейки как работи една система, можем да покрием максимална функционалност с минимален брой тестове.
  44. 44. 44 МС „Мусагеница“
  45. 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. 46 1. Натиснете Start бутона в долния ляв ъгъл. 2. Намерете Calculator и щракнете с левия бутон на мишката. (Уверете се, че калкулаторът се е появил на екрана.) 3. Въведете: 2+2 4. Натиснете ENTER Очакван резултат: На екрана се изписва „4“. Няма друга промяна в системата, няма съобщения за грешки. Примерен тестов случай (test case)
  47. 47. 47 МС „Младост 1“
  48. 48. 48 Видове тестване Тестване Функционално Тестване за приемане от крайния потребител Тестване на интеграцията на системите Тестване на системата Тестване на интеграцията на компонентите Тестване на компонента Нефункционално
  49. 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)
  50. 50. 50 МС „Младост 3“
  51. 51. 51 Нефункционално тестване Тестване Функционално Нефункционално Performance Testing Load Testing Stress Testing Endurance Testing Volume Testing Scalability Testing Usability Testing … и др.
  52. 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. 53 Performance vs. Load vs. Stress Testing
  54. 54. 54 Performance vs. Load vs. Stress Testing Капацитет: 40 едновременни клиента Stress Testing Load Testing Performance Testing Reliability: 95% (при 5% върнати грешки) Scalability: При 20+ потребители, се включва load balancer
  55. 55. 55 Usability с Heatmap
  56. 56. 56 Usability с A/B Testing
  57. 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. 58  Тестване на инсталацията (Installation Testing)  Инсталира ли се продуктът?  Правилно ли се ъпгрейдва от всяка до всяка версия?  Тестване на документацията (Documentation Testing)  Всичко ли е документирано?  Вярна и точна ли е?  Тестване на съвместимостта (Compatibility Testing)  Различни операционни системи, платформи и др.  Тестване на възстановяването (Recoverability Testing)  Ако спре токът, нетът, няма дисково място и тем подобни  И много други… Други
  59. 59. 59 МС „Интер Експо Център – Цариградско шосе“
  60. 60. 60 „Бъговете“ са навсякъде около нас
  61. 61. 61 Когато открием бъг, трябва да го опишем:  Заглавие – кратко, ясно и с един поглед да се разбира  Подробно описание – стъпки за репродуциране, очакван и реален резултат  Приоритет и потенциална опасност – колко спешно трябва да се оправи и какви щети може да нанесе  Screenshots, логове, дъмпове и друга важна информация Bug Тracking
  62. 62. 62 Bug Tracking Software
  63. 63. 63 Bug Tracking Software
  64. 64. 64 Bug Tracking Software - JIRA
  65. 65. 65 МС „Дружба“
  66. 66. 66 Regression Testing е повтарящо се тестване на текущата функционалност, за да се уверим, че оправяйки даден бъг или добавяйки нова функционалност не сме увредили вече съществуващата. Може да бъде ръчно и автоматично. Регресионно тестване и автоматизация
  67. 67. 67 Инструменти за автоматизирано тестване  Администрация и управление на тестовете (напр. JIRA)  Генератори на тестови данни (напр. SQL Data Generator)  Тест драйвери и симулатори  Тест роботи  Capture and Replay (Selenium)  Performance Testing (JMeter)  Web Testing (gtmetrics.com)  Debuggers (Eclipse)  Static Analyzers (SonarQube)
  68. 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
  69. 69. 69 МС „Искърско шосе“
  70. 70. 70 Причина No. 3: Повече бира TOP 3 причини да станете QA инженер https://www.facebook.com/groups/qabulgaria/
  71. 71. 71 TOP 3 причини да станете QA инженер Причина No. 2: Повече колежки (32%)
  72. 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 инженер
  73. 73. 73 МС „Софийска Света гора“
  74. 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. 75 Хоризонтално: Възможности за кариерно развитие QA Specialist Software Developer Technical Documentation Delivery Specialist Product / Project ManagerProcess Engineer / Quality Auditor Build Engineer / Operations Specialist Business Analyst Support
  76. 76. 76 МС „Летище София“
  77. 77. ? http://softuni.org/courses
  78. 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. 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. 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

×