
- •Содержание
- •1. Аннотация
- •2. Введение
- •4. Что было задумано
- •5. Благодарности
- •6. Методологии разработки ПО
- •6.3. SADT
- •6.5. Iconix
- •7. Единое пространство решений
- •7.1.1. Подбор команды
- •7.1.2. Распределение ответственности
- •7.1.3. Атмосфера в проекте
- •7.1.4. Карьерный рост
- •7.1.5. Производительность труда
- •7.1.6. Коммуникация
- •7.1.7. Планирование
- •7.1.8. Организация процесса
- •7.1.9. Функции разработчиков
- •7.1.10. Обучение персонала
- •7.1.11. Ориентация на задачи
- •7.1.12. Общая среда проекта
- •7.1.13. Интенсивность работы
- •7.1.14. Система приоритетов
- •7.1.15. Документация
- •7.2.1. Представление информации
- •7.2.2. Стратегия продвижения
- •7.2.3. Две точки зрения
- •7.2.4. Глоссарий терминов
- •7.2.5. Диаграммы
- •7.2.6. CASE-инструменты
- •7.2.7. Прецеденты
- •7.3.1. Создание объектов
- •7.3.2. Паттерны проектирования
- •7.3.3. Компонентная разработка
- •7.3.4. Концептуальная целостность
- •7.3.5. Распределение ошибок
- •7.3.6. «Неправильные» решения
- •7.3.7. Изобретение колеса
- •7.3.8. Алгоритм
- •7.3.9. Расслоение системы
- •7.4.1. Стандарт кодирования
- •7.4.2. Совместное владение кодом
- •7.4.3. Пилот-проект
- •7.4.4. Острый инструмент
- •7.4.5. Структура данных
- •7.4.6. Тестовые проекты
- •7.4.7. Парное программирование
- •7.4.8. Рефакторинг кода
- •7.4.9. Инкрементная разработка
- •7.5.1. Постоянное тестирование
- •7.5.2. Автоматизация тестов
- •7.5.3. «Узкие» тесты
- •7.5.4. Набор данных
- •7.5.5. Окружение программы
- •7.5.6. Отслеживание ошибок
- •7.5.7. Юзабилити
- •8. Заключение
- •9. Библиография
- •10. Авторские права
7.5.3.«Узкие» тесты
При тестировании системы, целесообразно добавлять компоненты системы по одному, чтобы сфокусироваться на «узком участке». Таким образом, детектирование ошибок одного модуля не влияет на результаты другого. Ошибки не будут
испытывать взаимовлияние друг друга и их проще будет обнаруживать.
Это похоже на инкрементную разработку в той части, что всегда проще решить конечную задачу, разделив её на мелкие части.
Вообще, если при малейшем изменении начинается шквал ошибок, это признак того, что «Там не просто живут баги. Там их гнездо» (см. статью [33]). Такая ситуация сигнализирует о больших проблемах разработанного ПО.
81
PDF создан испытательной версией pdfFactory Pro www.pdffactory.com
7.5.4.Набор данных
Для проведения качественного процесса тестирования важно обладать полным набором данных, представляющих различные варианты ситуации автоматизируемого процесса. Чаще всего,
такой набор данных предоставляет конечный пользователь системы, но во многих случаях,
разработчики сами могут дополнить предоставленный набор своими вариантами исключительных ситуаций.
Например, пользователю не придет в голову
проверить реакцию системы на отключение электричества, обрыв связи или внезапную недоступность СУБД посередине бизнес-транзакции.
Следует отметить, что тестирование нужно проводить на «эталонных» наборах данных, а не на данных разработчиков. Т.е. бизнес-сущности должны «по всем правилам» быть занесены в систему через соответствующую функциональность, а не сгенерированы «магической кнопкой».
Часто сгенерированные данные или занесенные «вручную» в БД, это не те же самые данные, которые позволяет создать система «официальным» способом. В отношения качества данных, различия, в первую очередь, проявляются в значениях по умолчанию отдельных полей. Иногда есть различия в том, что позволяет ввести СУБД и программа.
82
PDF создан испытательной версией pdfFactory Pro www.pdffactory.com
7.5.5.Окружение программы
Широко известно выражение типичного разработчика, в качестве «универсального ответа» на сообщение об ошибке на компьютере клиента. «На моей машине всё работало … по крайней мере 5 минут назад. Проблема у них, а не у меня». Проблема на самом деле у тестировщиков, в должной мере не просчитавших все (или почти все) ситуации окружения (environment) в котором была проинсталлирована программа.
Под окружением понимается та среда, в которой работает приложение. Это, во-первых, аппаратное обеспечение – компьютер (разной степени мощности), монитор (разной диагонали и разрешения), периферийные устройства, комплектующие и вообще всё, что имеет отношение к «железу». Во-вторых, это программное обеспечение – операционная система и патчи (сервис-паки к ней), драйвера, JVM, офисные пакеты, СУБД и доступ к данным, средства получения отчетности, коммуникации и обслуживания и т.п.
Необходимо обеспечить всестороннее тестирование системы во всевозможных программных и аппаратных конфигурациях. Если же
программа предназначена для работы со строго определённой версией того или иного компонента,
нужно максимально облегчить доступ пользователя к нему. Например, если приложение для работы требует установленного компонента Х версии Y, то лучше включить его в инсталляционный пакет, чем ожидать, что пользователь установит его корректно самостоятельно.
83
PDF создан испытательной версией pdfFactory Pro www.pdffactory.com
7.5.6.Отслеживание ошибок
Системы по defect-tracking-у получили
широкое распространение в последнее время и являются замечательным примером того, как
реализация простой идеи может принести большую пользу. Суть таких инструментов состоит в том,
чтобы увеличить контроль и довести до автоматизма процесс обнаружения, исправления и тестирования ошибок в ПО.
Разработчик, обнаруживший ошибку (владелец), даёт ей кодовое имя, описывает её симптомы, и ситуацию, приведшую к возникновению ошибки. Менеджер проекта назначает приоритет, сроки и ответственного за исправление проблемы. Назначенный работник, решает проблему и сообщает об этом «владельцу» ошибки. Тот удостоверяется, что вопрос решен и «закрывает» задачу.
Всё это можно делать в «бумажном» виде, например, в документе MS Word, но системы,
интегрирующие в себе весь процесс накопления данных об ошибках, уведомлениях участников процесса (по email), получения отчетности, значительно увеличивают эффективность работы.
Последующий анализ ошибок, функции их распределения по времени, сортировка с учетом приоритета, критичности, частоты повторения, среднему времени исправления, помогут в дальнейшем если не предотвратить их появление, то хотя бы понять причины их возникновения (и принять соответствующие меры).
84
PDF создан испытательной версией pdfFactory Pro www.pdffactory.com