|
@@ -8,7 +8,7 @@
|
|
|
|
|
|
|
|
В первую очередь дадим определение тестирования ПО, чтобы чётче понимать, о чём пойдёт речь.
|
|
В первую очередь дадим определение тестирования ПО, чтобы чётче понимать, о чём пойдёт речь.
|
|
|
|
|
|
|
|
-***Тестирование программного обеспечения*** — процесс анализа про-граммного средства и сопутствующей документации с целью выявления дефектов и повышения качества продукта.
|
|
|
|
|
|
|
+***Тестирование программного обеспечения*** — процесс анализа программного средства и сопутствующей документации с целью выявления дефектов и повышения качества продукта.
|
|
|
|
|
|
|
|
На протяжении десятилетий развития разработки ПО к вопросам тестирования и обеспечения качества подходили очень и очень по-разному. Можно выделить несколько основных «эпох тестирования».
|
|
На протяжении десятилетий развития разработки ПО к вопросам тестирования и обеспечения качества подходили очень и очень по-разному. Можно выделить несколько основных «эпох тестирования».
|
|
|
|
|
|
|
@@ -90,7 +90,282 @@
|
|
|
|
|
|
|
|
**Профессиональные навыки**
|
|
**Профессиональные навыки**
|
|
|
|
|
|
|
|
-TODO вставить сложную таблицу
|
|
|
|
|
|
|
+<table>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>Предметная область</th>
|
|
|
|
|
+ <th>Начальный уровень</th>
|
|
|
|
|
+ <th>Уровень младшего или среднего специфлиста</th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Процессы тестирования и разработки программного обеспечения</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Процесс тестирования ПО</td>
|
|
|
|
|
+ <td rowspan="2">Этому вопросу посвящена глава «Процессы тестирования и разработки ПО</td>
|
|
|
|
|
+ <td>Глубокое понимание стадий процесса тестирования, их взаимосвязи и взаимовлияния, умение планировать собственную работу в рамках полученного задания в зависимости от стадии тестирования</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Процесс разработки ПО</td>
|
|
|
|
|
+ <td>Общее понимание моделей разработки ПО, их связи с тестированием, умение расставлять приоритеты в собственной работе в зависимости от стадии развития проекта</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Работа с документацией</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Анализ требований</td>
|
|
|
|
|
+ <td rowspan="2">Этому вопросу посвящена глава «Тестирование документации и требований»</td>
|
|
|
|
|
+ <td>Умение определять взаимосвязи и взаимозависимость между различными уровнями и формами представления требований, умение формулировать вопросы с целью уточнения неясных моментов</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Тестирование требований</td>
|
|
|
|
|
+ <td>Знание свойств хороших требований и наборов требований, умение анализировать требования с целью выявления их недостатков, умение устранять недостатки в требованиях, умение применять техники повышения качества требований</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Управление требованиями</td>
|
|
|
|
|
+ <td rowspan="2">Не требуется</td>
|
|
|
|
|
+ <td>Общее понимание процессов выявления, документирования, анализа и модификации требований</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Бизнес-анализ</td>
|
|
|
|
|
+ <td>Общее понимание процессов выявления и документирования различных уровней и форм представления требований</td>
|
|
|
|
|
+ <td></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Оценка и планирование</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Создание плана тестирования</td>
|
|
|
|
|
+ <td rowspan="3">Эти вопросы частично затронуты в лаве «Оценка трудозатрат, планирование и отчётность», но их лубокое понимание требует отдельного длительного изучения</td>
|
|
|
|
|
+ <td>Общее понимание принципов планирования в контексте тестирования, умение использовать готовый тест-план для планирования собственной работы</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Создание стратегии тестирования</td>
|
|
|
|
|
+ <td>Общее понимание принципов построения стратегии тестирования, умение использовать готовую стратегию для планирования собственной работы</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Оценка трудозатрат</td>
|
|
|
|
|
+ <td>Общее понимание принципов оценки трудозатрат, умение оценивать собственные трудозатраты при планировании собственной работы</td>
|
|
|
|
|
+ <td></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Работа с тест-кейсами</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Создание чек-листов</td>
|
|
|
|
|
+ <td rowspan="2">Этому вопросу посвящена глава «Чек-листы, тест-кейсы, наборы тест-кейсов»</td>
|
|
|
|
|
+ <td>Твёрдое умение использовать техники и подходы к проектированию тестовых испытаний, умение декомпозировать тестируемые объекты и поставленные задачи, умение создавать чек-листы</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Создание тест-кейсов</td>
|
|
|
|
|
+ <td>Твёрдое умение оформлять тест-кейсы согласно принятым шаблонам, умение анализировать готовые тест-кейсы, обнаруживать и устранять имеющиеся в них недостатки</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Управление тест-кейсами</td>
|
|
|
|
|
+ <td>Не требуется</td>
|
|
|
|
|
+ <td>Общее понимание процессов создания, модификации и повышения качества тест-кейсов</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Методологии тестирования</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Функциональное и доменное тести-рование</td>
|
|
|
|
|
+ <td>Этому вопросу посвящена глава «Подробная классификация тестирования»</td>
|
|
|
|
|
+ <td>Знание видов тестирования, твёрдое умение использовать техники и подходы к проектированию тестовых испытаний, умение создавать чек-листы и тест-кейсы, умение создавать отчёты о дефектах</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Тестирование интерфейса пользователя</td>
|
|
|
|
|
+ <td rowspan="6">Не требуется</td>
|
|
|
|
|
+ <td>Умение проводить тестирование интерфейса пользователя на основе готовых тестовых сценариев или в рамках исследовательского тестирования</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Исследовательское тестирование</td>
|
|
|
|
|
+ <td>Общее умение использовать матрицы для быстрого определения сценариев тестирования, общее умение проводить новые тесты на основе результатов только что выполненных</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Интеграционное тестирование</td>
|
|
|
|
|
+ <td>Умение проводить интеграционное тестирование на основе готовых тестовых сценариев</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Локализационное тестирование</td>
|
|
|
|
|
+ <td>Умение проводить локализационное тестирование на основе готовых тестовых сценариев</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Инсталляционное тестирование</td>
|
|
|
|
|
+ <td>Умение проводить инсталляционное тестирование на основе готовых тестовых сценариев</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Регрессионное тестирование</td>
|
|
|
|
|
+ <td>Общее понимание принципов организации регрессионного тестирования, умение проводить регрессионное тестирование по готовым планам</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Работа с отчётами о дефектах</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Создание отчётов о дефектах</td>
|
|
|
|
|
+ <td>Этому вопросу посвящена глава «Отчёты о дефектах»</td>
|
|
|
|
|
+ <td>Твёрдое знание жизненного цикла отчёта об ошибке, твёрдое умение создавать отчёты о дефектах согласно принятым шаблонам, умение анализировать готовые отчёты, обнаруживать и устранять имеющиеся в них недостатки</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Анализ причин возникновения ошибки</td>
|
|
|
|
|
+ <td rowspan="2">Не требуется</td>
|
|
|
|
|
+ <td>Базовое умение исследовать приложение с целью выявления источника (причины) ошибки, элементарное умение формировать рекомендации по устранению ошибки</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Использование баг-трекинговых систем</td>
|
|
|
|
|
+ <td>Умение использовать баг-трекинговые системы на всех стадиях жизненного цикла отчётов о дефектах</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Работа с отчётами о результатах тестирования</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Создание отчётов о результатах тестирования</td>
|
|
|
|
|
+ <td>Не требуется, но частично рассмотрено в главе «Оценка трудозатрат, планирование и отчётность»</td>
|
|
|
|
|
+ <td>Умение предоставлять необходимую информацию для формирования отчёта о результатах тестирования, умение анализировать готовые отчёты о результатах тестирования с целью уточнения планирования собственной работы</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+</table>
|
|
|
|
|
+
|
|
|
|
|
+**Технические навыки**
|
|
|
|
|
+
|
|
|
|
|
+<table>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>Предметная область</th>
|
|
|
|
|
+ <th>Начальный уровень</th>
|
|
|
|
|
+ <th>Уровень младшего или среднего специфлиста</th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Операционные системы</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Windows</td>
|
|
|
|
|
+ <td>Использование на ровне уверенного пользователя</td>
|
|
|
|
|
+ <td rowspan="3">Установка, использование и администрирование, решение проблем, конфигурирование с целью настройки тестового окружения и выполнения тест-кейсов</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Linux</td>
|
|
|
|
|
+ <td>Общее знакомство</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Виртуальные машины</td>
|
|
|
|
|
+ <td>Использование на уровне начинающего пользователя</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Mac OS</td>
|
|
|
|
|
+ <td>Не требуется</td>
|
|
|
|
|
+ <td>Общее знакомство</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Базы данных</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Реляционная теория</td>
|
|
|
|
|
+ <td rowspan="3">Не требуется</td>
|
|
|
|
|
+ <td>Общее понимание, умение читать и понимать схемы баз данных в общепринятых графических нотациях</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Реляционные СУБД</td>
|
|
|
|
|
+ <td>Умение устанавливать, настраивать и использовать для настройки тестового окружения и выполнения тест-кейсов</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Язык SQL</td>
|
|
|
|
|
+ <td>Умение писать и выполнять простые запросы с использованием инструментальных средств работы с БД/СУБД</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Компьютерные сети</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Сетевые протоколы</td>
|
|
|
|
|
+ <td rowspan="2">Не требуется</td>
|
|
|
|
|
+ <td>Общее понимание принципов работы стека TCP/IP, умение конфигурировать локальные сетевые настройки операционной системы</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Сетевые утилиты</td>
|
|
|
|
|
+ <td>Общее понимание и умение использовать утилиты диагностики состояния и неполадок в сети</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Веб-технологии</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Веб-серверы</td>
|
|
|
|
|
+ <td rowspan="3">Не требуется</td>
|
|
|
|
|
+ <td>Общее понимание принципов работы веб-серверов, умение устанавливать и настраивать</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Серверы приложений</td>
|
|
|
|
|
+ <td>Общее понимание принципов работы серверов приложений, умение устанавливать и настраивать</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Веб-сервисы</td>
|
|
|
|
|
+ <td>Общее понимание принципов работы веб-сервисов и способов диагностики неполадок в их работе</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Языки разметки</td>
|
|
|
|
|
+ <td>Общее представление об HTML и CSS</td>
|
|
|
|
|
+ <td>Умение использовать HTML и CSS для создания простых страниц</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Протоколы передачи данных</td>
|
|
|
|
|
+ <td rowspan="2">Не требуется</td>
|
|
|
|
|
+ <td>Общее понимание принципов работы протоколов прикладного уровня OSI-модели, общее понимание принципов диагностики возникших неполадок</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Языки веб-программирования</td>
|
|
|
|
|
+ <td>Начальные знания хотя бы в одном языке программирования, используемом для создания веб-приложений</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Мобильные платформы и технологии</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Android</td>
|
|
|
|
|
+ <td rowspan="3">Не требуется</td>
|
|
|
|
|
+ <td rowspan="3">Использование на уровне начинающего пользователя</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>iOS</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Windows Phone</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+</table>
|
|
|
|
|
+
|
|
|
|
|
+**Личностные навыки**
|
|
|
|
|
+
|
|
|
|
|
+<table>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>Предметная область</th>
|
|
|
|
|
+ <th>Начальный уровень</th>
|
|
|
|
|
+ <th>Уровень младшего или среднего специфлиста</th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Коммуникативные навыки</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Деловое использование e-mail</td>
|
|
|
|
|
+ <td rowspan="2">Минимальные навыки</td>
|
|
|
|
|
+ <td>Понимание и строгое следование правилам делового общения с использованием e-mail и сервисов мгновенных сообщений</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Устное деловое общение</td>
|
|
|
|
|
+ <td>Понимание и строгое следование правилам устного делового общения</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Прохождение собеседований</td>
|
|
|
|
|
+ <td>Не требуется</td>
|
|
|
|
|
+ <td>Начальный опыт прохождения собеседований</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td colspan="3" style="text-align: center;">Навыки самоорганизации</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Планирование собственного времени</td>
|
|
|
|
|
+ <td>Минимальные навыки, общие представления</td>
|
|
|
|
|
+ <td>Развитые навыки планирования собственного времени, умение пользоваться соответствующими инструментами, умение оценивать трудозатраты в рамках полученных заданий</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <td>Отчётность о своей работе</td>
|
|
|
|
|
+ <td>Начальные навыки</td>
|
|
|
|
|
+ <td>Развитые навыки отчётности о своей работе, умение пользоваться соответствующими инструментами</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+</table>
|
|
|
|
|
|
|
|
## Мифы и заблуждения о тестировании
|
|
## Мифы и заблуждения о тестировании
|
|
|
|
|
|
|
@@ -130,6 +405,7 @@ TODO вставить сложную таблицу
|
|
|
|
|
|
|
|
Как только по улицам забегают терминаторы — да, этот миф станет правдой: программы научатся обходиться без людей. Но тогда у нас всех будут другие проблемы. А если кроме шуток, человечество уже сотни лет идёт по пути автоматизации, которая накладывает свой отпечаток на всю нашу жизнь и чаще всего позволяет переложить самую простую и не требующую квалификации работу на машины. Но кто же заставляет вас оставаться на уровне исполнителя такой работы? Начиная с некоторого уровня, тестирование превращается в гармоничное сочетание науки и искусства. А многих ли учёных или творцов заменила автоматизация?
|
|
Как только по улицам забегают терминаторы — да, этот миф станет правдой: программы научатся обходиться без людей. Но тогда у нас всех будут другие проблемы. А если кроме шуток, человечество уже сотни лет идёт по пути автоматизации, которая накладывает свой отпечаток на всю нашу жизнь и чаще всего позволяет переложить самую простую и не требующую квалификации работу на машины. Но кто же заставляет вас оставаться на уровне исполнителя такой работы? Начиная с некоторого уровня, тестирование превращается в гармоничное сочетание науки и искусства. А многих ли учёных или творцов заменила автоматизация?
|
|
|
|
|
|
|
|
|
|
+[//TODO]: дописать_про_библиотеку_классов
|
|
|
|
|
|
|
|
| |
|
|
| |
|
|
|
:-:|:-:|:-:
|
|
:-:|:-:|:-:
|