QA инженерите се занимават с осигуряване на качеството на софтуера, тестване и цялостно управление на процеса на разработка. Освен да търсят бъгове, да ги описват и да ги проследяват до отстраняването им, QA инженерите се занимават и с програмиране на автоматизирани инструменти за тестване, които осигуряват повторяемост на тестовете и осигуряват качество в дългосрочен план. В лекцията ще поговорим за всичко това с много примери от реалния живот на един QA инженер.
Palestra ministrada na Trilha DevTest do The Developers Conference 2019 em Florianópolis sobre automação de testes de API com RestAssured e virtualização de serviços com Wiremock
Apresentação sobre técnicas de modelagem de teste, abordando as baseadas em especificação: Partição de Equivalência; Análise do Valor Limite; Tabela de Decisão; Teste de transição de estados; Teste de Caso de Uso.
Para conhecer mais sobre Teste e Qualidade de Software, acesse o QualidadeBR:
http://qualidadebr.wordpress.com/
At some stage or other, a business enterprise feels the need to implement QA processes to standardize their operations, product delivery, and empower business solutions. Maintaining a full-fledged QA standard process is vital for a product-based environment. If a given QA standard is followed in a proper way, it leads to well-defined, user-oriented, and quality products.
This slide deck is for all the QA members who want to understand the methodology of test case design. These slides are not theoretical gyan but designed based on experience.
Palestra ministrada na Trilha DevTest do The Developers Conference 2019 em Florianópolis sobre automação de testes de API com RestAssured e virtualização de serviços com Wiremock
Apresentação sobre técnicas de modelagem de teste, abordando as baseadas em especificação: Partição de Equivalência; Análise do Valor Limite; Tabela de Decisão; Teste de transição de estados; Teste de Caso de Uso.
Para conhecer mais sobre Teste e Qualidade de Software, acesse o QualidadeBR:
http://qualidadebr.wordpress.com/
At some stage or other, a business enterprise feels the need to implement QA processes to standardize their operations, product delivery, and empower business solutions. Maintaining a full-fledged QA standard process is vital for a product-based environment. If a given QA standard is followed in a proper way, it leads to well-defined, user-oriented, and quality products.
This slide deck is for all the QA members who want to understand the methodology of test case design. These slides are not theoretical gyan but designed based on experience.
Apresentação sobre Arquitetura de Automação para Testes Funcionais no TestDay em 20/09/2012 na PUC - SP
Esta apresentação quer mostrar todos os pontos importantes que são necessários para uma arquitetura de testes pensanod "fora da caixa", não somente em criar um script mas em todo o processo durante a automação como gerencimento de erros e logs, relatórios e estratégia para execução da automação.
@test_day
http://testday.com.br
Effective Software Test Case Design Approach highlights typical wrong approaches to software test case design and focuses on an effective methodology in test case design from a collaborative approach.
Through the use of an example requirement/user story, this presentation highlights the "interactions" between the stakeholders, i.e. Product Owner, Developer, and Test Engineer in the development of user story acceptance criteria, details, test scope, and effective, consistent and valid test cases.
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
Palestra ministrada no GaragemTalks, na Cielo em 26 de abril de 2019.
O objetivo foi de demonstrar como uma cultura de qualidade pode influenciar a entrega de produtos de qualidade. Também, de mostrar como técnicas de teste podem ser aplicadas em áreas não necessáriamente ligadas a desenvolvimento de software.
How To Write A Test Case In Software Testing | EdurekaEdureka!
YouTube Link: https://youtu.be/KxelISpFqOY
(** Test Automation Masters Program: https://www.edureka.co/masters-progra... **)
This Edureka PPT on "Test Case in Software Testing" will give you in-depth knowledge on how to write a Test Case in Software Testing. The following are the topics covered in the session:
Software Testing Documentation
Test Case in Software Testing
Test Case Format
Test Case Design Technique
Test Case Guidelines
Demo: How to write a test case?
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Apresentação sobre Arquitetura de Automação para Testes Funcionais no TestDay em 20/09/2012 na PUC - SP
Esta apresentação quer mostrar todos os pontos importantes que são necessários para uma arquitetura de testes pensanod "fora da caixa", não somente em criar um script mas em todo o processo durante a automação como gerencimento de erros e logs, relatórios e estratégia para execução da automação.
@test_day
http://testday.com.br
Effective Software Test Case Design Approach highlights typical wrong approaches to software test case design and focuses on an effective methodology in test case design from a collaborative approach.
Through the use of an example requirement/user story, this presentation highlights the "interactions" between the stakeholders, i.e. Product Owner, Developer, and Test Engineer in the development of user story acceptance criteria, details, test scope, and effective, consistent and valid test cases.
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
Palestra ministrada no GaragemTalks, na Cielo em 26 de abril de 2019.
O objetivo foi de demonstrar como uma cultura de qualidade pode influenciar a entrega de produtos de qualidade. Também, de mostrar como técnicas de teste podem ser aplicadas em áreas não necessáriamente ligadas a desenvolvimento de software.
How To Write A Test Case In Software Testing | EdurekaEdureka!
YouTube Link: https://youtu.be/KxelISpFqOY
(** Test Automation Masters Program: https://www.edureka.co/masters-progra... **)
This Edureka PPT on "Test Case in Software Testing" will give you in-depth knowledge on how to write a Test Case in Software Testing. The following are the topics covered in the session:
Software Testing Documentation
Test Case in Software Testing
Test Case Format
Test Case Design Technique
Test Case Guidelines
Demo: How to write a test case?
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Built-in testing capabilities of Go's standard library. Techniques for measuring test coverage and keeping it satisfactory and go through some mock-up techniques.
Usability Testing за нула време, с нула пари и нула опитPeter Sabev
>>> Каква е разликата между UI, UX и Usability? Обяснения с кетчуп.
>>> 10 метрики за измерване на ползваемостта.
>>> Какво са cognitive walkthrough и exploratory testing и как да ги използваме за usability testing?
>>> Евристично оценяване и 10 евристики.
>>> Оценяване на ползваемостта чрез въпросници и някои полезни линкове.
Как да направим живота си по - лесен с добър QA подходBozhidar Boshnakov
В тази сесия ще говорим за test cases в Drupal.
Темите, които ще засегнем са:
– Какво са test cases?
– Защо се нуждаем от тях?
– Защо трябва да ги ползваме?
– Какво е Testlink?
– Как да пишем преизползваеми(reusable) test cases в Drupal?
– Как да подобрим работата на екипа чрез изготвяне на добри test cases?
– Как да използваме test cases като “acceptance criteria”?
Everybody needs monitoring. Be it simple or complex it is mandatory. In addition to monitoring you need a graphing system needed to to draw visual representation of a business related metric. I will show you part of our journey for graphing and more specifically high volume graphing with graphite.
Slides: http://bit.ly/1JMShuv
Demo: http://bit.ly/1PIcMKF (Vagrant boxes)
Similar to Професия QA инженер - SoftUniConf June 2015 (20)
Burnout - синдром на професионалното изчерпванеPeter Sabev
Какво е професионално изгаряне, "прегаряне", "изпържване", професионално изчерпване или просто бърнаут? Много от най-продуктивните хора поне веднъж са се чувствали професионално изчерпани - ще разгледаме няколко такива случая, историята на бърнаута накратко, какви са фазите и стадиите, как да се "усещаме", когато сме на път да прегорим, и какви начини има да го победим... За купона ще вкарам Metallica, "Тигре, тигре" и "Sound of Silence" в една презентация, без да пея...
Secure Software: Action, Comedy or Drama? (2017 edition)Peter Sabev
If they made movies about the most important software security issues, they could be put into five titles: Insecure Interface, Insufficient Authentication, Security Misconfiguration, Lack of Transport Encryption and Privacy Concerns. What are the action, comedy and drama parts in software security nowadays? A talk presented on IT-Weekend event in Ruse, Bulgaria (2017)
Ако можех да се клонирам...Можеш! Делегирай!Peter Sabev
Често всички сме претоварени от задачи. Това важи особено за хората, които ръководят няколко души и често трябва да са на няколко места едновременно или да вършат няколко неща едновременно... Според теорията на управлението понятието „делегиране” означава предаване на задачи и пълномощия на лица, които поемат отговорността за тяхното изпълнение. А с прости думи - да дадеш част от работата да ти я свърши някой друг. Кой точно, коя работа точно, как да я свърши, какво още трябва да дадем заедно със задачата, как да извършим контрола и колко често да искаме обратна връзка - това са все въпроси, на които смятам да отговоря в тази история за богини, вълци, грозде, бай Иван и Криско...
Reporting bugs: Errors Made and Lessons LearnedPeter Sabev
How to report bugs effectively, what mistakes to avoid, how to make your defect reports easily readable by developers, software quality assurance engineers and everyone involved in software testing
Veselin Berov - Testing in the World of Information ManagementPeter Sabev
The information management solutions are specific group of projects which standart testing methods are rarely applicable for. We are going to investigate a case study with a bank application that will put the QA team in front of many challenges: no user interface, big volume of information fetched, and a high speed of processing this data needed. Even more, the calculations made and the system security are critical as we are talking about a bank product.
Slavy Slavov - 6 Common Challenges Setting Up Selenium in High ScalePeter Sabev
Congratulations, you are tasked with setting up Selenium for a few projects so that the test automation can be optimized, scalable, predictable and cost-effective. Sounds hard? It does, because we often bump into pop-up windows, default browser settings, Selenium issues, user certificates, etc. We'll learn how to avoid these problems instead of wasting days on solving them one by one. In addition, we will learn how to scale and maintain the Selenium infrastructure - 6 common challenges which will meet and learn how to overcome.
Working with UK people (for Bulgarians)Peter Sabev
How to work and do business with people from the United Kingdom. How are Brits similar and different compared to Bulgarians and some details on how to communicate with UK colleagues. A presentation made on Questers Beer'n'Code day.
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015Peter Sabev
If you count the alternatives, there are 50 tools for software testing focused on open source projects - test planning and management, test execution, test reporting, front-end and backend testing, automated mobile testing, security scanners, issue tracking and others
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
Автомобили, магистрали, влакове, самолети, летища,
атомни електроцентрали и електроуреди – днес всички те се
управляват от софтуер!
Неадекватното тестване може да струва пари, имидж и дори
човешки животи!!!
Помислете…
21. 21
Quality Assurance (Осигуряване на качеството) e процес,
включващ всички действия в жизнения цикъл на даден
софтуерен продукт, концентрирани върху планирането,
подготовката и развитието на продукта и неговата работа, с
три основни цели:
1. Да се определи дали изискванията са удовлетворени;
2. Да се потвърди, че продуктът работи по предназначение;
3. Да се открият грешки (a.k.a. бъгове, дефекти, проблеми).
Какво е QA?
25. 25
2+2 трябва ВИНАГИ да дава 4…
(представете си, ако това се случваше само в 62% от случаите)
Софтуерът трябва да е НАДЕЖДЕН!
26. 26
Всеки софтуер трябва да е удобен за ползване…
Представете си ей такава клавиатура:
Софтуерът трябва да е ПОЛЗВАЕМ!
27. 27
Всеки софтуер трябва да работи ефективно спрямо ситуацията
и ресурсите. Представете си при „2+2“ да се случва това:
Софтуерът трябва да е ЕФЕКТИВЕН!
28. 28
Промени и корекции трябва да се извършват лесно.
Софтуерът трябва да може ДА СЕ ПОДДЪРЖА!
Нова
функционалност
29. 29
Софтуерът трябва да работи на различни среди и платформи,
както софтуерни, така и хардуерни…
Софтуерът трябва да е ПРЕНОСИМ!
33. 33
Software Developer знае една технология почти съвършено
(напр. Java), но рядко има понятие от хардуер, мрежи,
операционни системи, системни процеси, стандарти,
маркетингово позициониране и конкурентни пазари,
UI/UX, load balancing и др.
Един добър Quality Assurance Engineer знае по малко за
всички тези неща, макар рядко да има понятие от тях в
дълбочина…
QA vs. Developer
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
Спецификации, договори, подобни продукти,
стари версии на същия продукт, клиентски
очаквания, стандарти, закони и др.
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)
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
58. 58
Тестване на инсталацията (Installation Testing)
Инсталира ли се продуктът?
Правилно ли се ъпгрейдва от всяка до всяка версия?
Тестване на документацията (Documentation Testing)
Всичко ли е документирано?
Вярна и точна ли е?
Тестване на съвместимостта (Compatibility Testing)
Различни операционни системи, платформи и др.
Тестване на възстановяването (Recoverability Testing)
Ако спре токът, нетът, няма дисково място и тем подобни
И много други…
Други
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 инженер
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