Техники тест дизайна для черноящичного тестированияDmytro Protsenko
Разобрано на пальцах несколько техник из книги Lee Copeland "A Practitioner's Guide to Software Test Design". Все что касается BlackBox Testing - cгруппированo в три раздела. Oбъяснены секреты магии Pairwise, почему тестирование областей определения переворачивает самолеты и дана краткая инструкция, как вернуть деньги за билет, если в связи с предыдущим пунктом, вы передумали лететь.
Domain-тестирование – формальное название методики тестирования, за которым скрывается банальная работа с классами эквивалентности. Впрочем, не такая уж и банальная. Даже в популярной литературе по тестированию часто упоминают только о существовании классов эквивалентности и о том, что с их граничными значениями работать очень полезно.
Мы знакомимся с основами этой методики, когда делаем первые шаги в тестировании, и больше никогда о ней не задумываемся, наивно считая, что она попала в нашу зону неосознанной компетентности и мы всегда используем ее правильно. А так ли это?
Техники тест дизайна для черноящичного тестированияDmytro Protsenko
Разобрано на пальцах несколько техник из книги Lee Copeland "A Practitioner's Guide to Software Test Design". Все что касается BlackBox Testing - cгруппированo в три раздела. Oбъяснены секреты магии Pairwise, почему тестирование областей определения переворачивает самолеты и дана краткая инструкция, как вернуть деньги за билет, если в связи с предыдущим пунктом, вы передумали лететь.
Domain-тестирование – формальное название методики тестирования, за которым скрывается банальная работа с классами эквивалентности. Впрочем, не такая уж и банальная. Даже в популярной литературе по тестированию часто упоминают только о существовании классов эквивалентности и о том, что с их граничными значениями работать очень полезно.
Мы знакомимся с основами этой методики, когда делаем первые шаги в тестировании, и больше никогда о ней не задумываемся, наивно считая, что она попала в нашу зону неосознанной компетентности и мы всегда используем ее правильно. А так ли это?
The document discusses modeling process paths and determining all possible path combinations through a system. It involves:
1) Numbering all paths and identifying decision points in the process.
2) Determining the incoming and outgoing paths for each decision point.
3) Calculating all combinations of consecutive paths, starting with combinations of 2 paths (test depth level 2) and then 3 paths (test depth level 3).
4) Continually expanding the path combinations level to cover all options through the system.
The document discusses modeling process paths and determining all possible path combinations through a system. It involves:
1) Numbering all paths and identifying decision points in the process.
2) Determining the incoming and outgoing paths for each decision point.
3) Calculating all combinations of consecutive paths, starting with combinations of 2 paths (test depth level 2) and then 3 paths (test depth level 3).
4) Continually expanding the path combinations level to cover all options through the system.
The document discusses the differences between testing, quality control (QC), and quality assurance (QA) in software development. It states that testing is the process of evaluating software to check if it meets requirements and finds errors, QC checks test results to identify defects in the finished product, and QA focuses on preventing defects by improving development processes.
The document discusses Ranorex, a test automation tool that offers both script-free and programmatic testing. It can be used to automate testing of desktop, web, and mobile applications. The document provides an overview of Ranorex's capabilities and outlines how to install, record tests, create code modules, and generate reports with the tool. Contact and resource details are included at the end.
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoft
Предлагаем вашему вниманию презентацию «BDD JBehave and Cucumber JVM + Appium for efficient cross-platform Mobile Automation». Этой презентацией сопровождался доклад Антона Семенченко, прочитанный 29 июня на конференции MobileOptimized 2014 в Минске.
Bdd and dsl как способ построения коммуникации на проектеISsoft
This document discusses Behavior Driven Development (BDD) and Domain Specific Languages (DSLs). It defines BDD as a formalized approach to effective communication between project teams using behavioral specifications, backlog items, acceptance tests and a ubiquitous language. DSLs are described as computer programming languages with limited expressiveness focused on a particular domain. The benefits of DSLs include improved productivity by making code easier to read and understand and avoiding duplication. DSLs can also help communicate with domain experts by providing a language for their domain. Potential problems with DSLs include lack of experience using or developing them and not having resources for the time required.
This document provides an overview of databases and SQL. It discusses key concepts like database structure, normalization, keys, queries, joins, constraints and more. SQL is used to work with relational databases and allows users to define, manipulate and query data. Common SQL commands are explained like SELECT, INSERT, UPDATE, DELETE and more.
This document provides an overview of the ToDoList time management application. It describes the main features of ToDoList including creating tasks and subtasks, setting priorities and statuses, sorting tasks, setting reminders, and using Gantt charts and burn-down charts. It also notes that ToDoList is available on iOS and Android through mobile apps that sync with the desktop version using DropBox. The document concludes by thanking the reader and providing contact information for the author.
The Prototype design pattern allows the creation of new objects by copying existing objects, known as prototypes. This pattern avoids subclasses to create new types of objects, instead objects are created as copies of prototypes. The prototype encapsulates the details of its own cloning process to hide how copies are created. Clients only interact with the prototype interface to create copies without knowing the concrete classes.
решение одной из ключевых проблем компетенции Ba специалистовISsoft
This document discusses the role of business analysts (BA) as proxies between business and development teams. It notes that just as translators must understand cultural differences, BAs must deeply understand both business and IT domains. It then outlines a comprehensive 2-3 month program to train BAs in relevant programming and software development practices including object-oriented programming, UML, architectural patterns, and an introduction to Python programming. The program details various Python and visual programming concepts and tools including CPython, Blockly, external Blockly projects, and visual languages for children.
Development of automated tests for ext js based web sitesISsoft
The document discusses various automated testing tools that support the WebDriver protocol including BadBoy, Selenium, CodedUI, Siesta, HP Unified Functional Testing, and TestComplete. It provides details on the operating systems, browsers, automation types, documentation/support, licensing, and testing types supported by WebDriver and BadBoy. The document also discusses project structure, test method structure, variable values, parallel test execution using a hub, and locator strategies for WebDriver including CSS, custom classes, and JavaScript execution.
4. Методы генерирования тестов
Матричная трассировка — составление
таблиц, состоящих из тестовых
сценариев и параметров для них
Используется, когда много параметров
для ввода
5. Матричная трассировка
Можно выбрать белорусские, российские рубли
и украинские гривны.
Есть старые и новые купюры. БР — старые и
новые, РР — только старые, УГ — только новые
Старые купюры могут быть 100, 500, 50000,
100000. Новые — 1000, 10000, 200000. При этом
БР — 50000, 10000, 100000, 200000. РР и УГ—
100, 500, 1000
За РР и БР можно взять кредит или открыть
депозит.
За УГ и РР можно купить облигации или
обменять на БР
6. Матричная трассировка
Можно выбрать белорусские, российские рубли
и украинские гривны.
Есть старые и новые купюры. БР — старые и
новые, РР — только старые, УГ — только новые
БР
РР
старые
БС
РС
новые
БН
УГ
УН
7. Матричная трассировка
Старые купюры могут быть 100, 500, 50000,
100000. При этом БР — 50000, 10000, 100000,
200000. РР и УГ— 100, 500, 1000
100
500
РС
РС1
РС5
100000
БС5
БС
50000
БС1
8. Матричная трассировка
Новые — 1000, 10000, 200000. При этом БР —
50000, 10000, 100000, 200000. РР и УГ— 100,
500, 1000
1000
УН
УН1
200000
БН1
БН
10000
БН2
9. Матричная трассировка
За РР и БР можно взять кредит или открыть
депозит.
За УГ и РР можно купить облигации или
обменять на БР
Кредит
Депозит
Обмен
Облигации
БС5
х
х
БС1
х
х
РС1
х
х
х
х
РС5
х
х
х
х
БН1
х
х
БН2
х
х
х
х
УН1
13. Методы генерирования тестов
Интеллек-карты (Mind maps)
Правила создания mind-map достаточно просты:
использовать ключевые слова, выделять ветки
цветом, формой, образами и т. д.
Для тестирования применяю mind-map в
следующих ролях: как представление
требований в понятном виде, документацию и
чек-лист.
19. Таблица переходов состояний
Текущее состояние Событие
Действие
Следующее
состояние
null
giveInfo
startPayTimer
Made
null
payMoney
-
null
null
print
-
null
null
giveTicket
-
null
null
cancel
-
null
null
PayTimerExpires
-
null
Made
giveInfo
-
Made
Made
payMoney
-
Paid
Made
print
-
Made
Made
giveTicket
-
Made
Made
cancel
-
Can-Cust
Made
PayTimerExpires
-
Can-Nonpay
20. Методы генерирования тестов
Таблица решений (decision table) - описывают
логику приложения основываясь
сущностях(свойствах/условиях) состояния
системы.
22. Таблицы решений
Сущность(conditions) от 1 до m - это разные
свойства системы, они представляют в таблице
входные данные, которые можно ввести в
систему.
Действия(actions) от 1 до n - это действия
которые могут произойти с указанной
комбинацией сущностей, в зависимости от
комбинации всех входных данных сущностей,
действия принимают нужные значения.
Каждое правило определяет уникальный набор
входных данных всех свойств, которые приводят
к исполнению конкретных действий.
28. Таблицы решений
Тест
кейс 1
Тест
кейс 2
Тест
кейс 3
Тест
кейс 4
Тест
кейс 5
Тест
кейс 6
Тест
кейс 7
Тест
кейс 8
Тест
кейс 9
Тест
кейс
10
Тест
кейс
11
Тест
кейс
12
Введены все
данные?
нет
нет
нет
нет
нет
нет
да
да
да
да
да
да
Введен ID?
нет
нет
нет
да
да
да
нет
нет
нет
да
да
да
Выбран
Modify?
нет
нет
да
нет
нет
да
нет
нет
дат
нет
Выбран
Delete?
нет
да
нет
нет
да
нет
нет
да
нет
нет
да
нет
Создать
нового
студента
нет
нет
нет
нет
нет
нет
да
нет
нет
нет
нет
нет
Отредактиров
ать
нет
нет
нет
нет
нет
да
нет
нет
да
нет
нет
нет
Удалить
нет
нет
нет
нет
да
нет
нет
нет
нет
нет
нет
нет
Входные
данные
нет
да
Ожидаемый
результат
29. Методы генерирования тестов
Исчерпывающее тестирование (exhaustive
testing) - тестирование программы на всех
возможных комбинациях входных значений
переменных. Обеспечивает обнаружение всех
возможных ошибок.
Но практически нереализуемо даже для очень
небольших программ.
32. Методы отбора тестов
Попарное тестирование (pair-wise testing) формирование таких наборов данных, в которых
каждое тестируемое значение каждого из
проверяемых параметров хотя бы единожды
сочетается с каждым тестируемым значением
всех остальных проверяемых параметров.
33. Pair-wise testing
Допустим, какое-то значений (налог) для человека
рассчитывается на основании его пола, возраста
и наличия детей - получаем три входных
параметра, для каждого из которых для тестов
выбираем каким-то образом значения. Например:
пол - мужской или женский; возраст - до 25, от
25 до 60, более 60; наличие детей - да или нет
34. Pair-wise testing
№
Пол
Возраст
Дети
1
мужчина
До 25
Дети есть
2
женщина
До 25
Дети есть
3
мужчина
25-60
Дети есть
4
женщина
25-60
Дети есть
5
мужчина
Старше 60
Дети есть
6
женщина
Старше 60
Дети есть
7
мужчина
До 25
Детей нет
8
женщина
До 25
Детей нет
9
мужчина
25-60
Детей нет
10
женщина
25-60
Детей нет
11
мужчина
Старше 60
Детей нет
12
женщина
Старше 60
Детей нет