26
Сэм Канер: Тестирование Программного Обеспечения Elena Sharovar, 2010

Сэм Канер: Тестирование программного обеспечения

Embed Size (px)

Citation preview

Page 1: Сэм Канер: Тестирование программного обеспечения

Сэм Канер: Тестирование Программного Обеспечения

Elena Sharovar, 2010

Page 2: Сэм Канер: Тестирование программного обеспечения

«Все ошибки до единой вам всё равно не найти: даже если в программе

действительно не останется ошибок, вы об этом никогда не узнаете, ведь этого нельзя

ни доказать ни проверить…»

Page 3: Сэм Канер: Тестирование программного обеспечения

I. Тестирование на этапе планирования

- Адекватны ли требования?

- Полны ли они?

- Совместимы ли требования между собой?

- Выполнимы ли они?

- Разумны ли они?

- Поддаются ли они тестированию?

Page 4: Сэм Канер: Тестирование программного обеспечения

II. Тестирование на этапе проектирования (когда кода ещё нет)

- Действительно ли проект хорош?

- Соответствует ли проект требованиям?

- Полон ли проект?

- Достаточно ли он реалистичен?

- Хорошо ли описана в проекте

подсистема обработки ошибок?

Page 5: Сэм Канер: Тестирование программного обеспечения

III. Тестирование продукта1. Основные пункты

- Тестирование по документации

- Тестирование всех функций программы

- Анализ граничных условий

Page 6: Сэм Канер: Тестирование программного обеспечения

III. Тестирование продукта2. Входные данные

- Все допустимые значения

- Все недопустимые значения

- Ввод с редактированием

- Несвоевременный ввод

Page 7: Сэм Канер: Тестирование программного обеспечения

III. Тестирование продукта3. Поиск ошибок

- Наиболее вероятные ошибки

- Наиболее заметные ошибки

- Наиболее часто используемые области программы

- Отличительные особенности программы

Page 8: Сэм Канер: Тестирование программного обеспечения

III. Тестирование продукта4. Спросите программиста

- Спросите у программиста, где в программе

наиболее сложные области

- Начните тестирование с того, что вам понятно –

в дальнейшем вы разберётесь с остальной частью продукта

Page 9: Сэм Канер: Тестирование программного обеспечения

III. Тестирование продукта5 (последнее) - Особые ошибки

- Ошибки связанные со временем

- Неожиданные ошибочные ситуации

- Особые стечения данных

- Неверная информация на экране

- Неадекватность пользовательского интерфейса

- Взаимодействие с параллельно выполняемыми задачами

- Проблемы, связанные с конфигурацией и совместимостью

- Аппаратные ошибки, нестандартные ситуации и сбои

Page 10: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 1. Функциональность

- Избыточная функциональность

(слишком много кликов?)

- Ложное впечатление о наборе функций

(кажется что программа делает больше чем на самом деле?)

- Неадекватность реализованных функций

(слишком медленно работает?)

- Пропущенная функция

(что-то забыли?)

- Неверно работающая функция

(просили одно, а делает что-то другое?)

- Программа делает не то, что ожидает от неё пользователь

(ожидается одно, а делается что-то другое?)

Page 11: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 2. Отсутствие информации

- Отсутствие инструкций на экране (ааа! что делать дальше?)

- Отсутствие курсора(где курсор?)

- Программа не распознаёт ввод(а куда здесь нажимать?)

- Невозможно определить, выполнена ли команда(ничего не выполнилось?)

А также:- Недокументированные возможности- Состояния, из которых сложно найти выход- Длительное отсутствие активности- Невозможность определить, что один и тот же документ открыт

несколько раз

Page 12: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 3. Неверная или смущающая пользователя информация

- Просто ошибка

- Синтаксическая ошибка

- Неаккуратное упрощение

- Неудачная метафора

- Неточные названия команд и функций

- Несколько названий одной функции

- Избыточность информации

- Куда сохраняются данные?

- Неудачная внешняя структура

Page 13: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 4. Справочная система и сообщения об ошибках

- Высокий уровень сложности

- Многословность

- Неуместная эмоциональность

- Фактические ошибки в справочной системе

- Контекстные ошибки в справочной системе

- Неправильное описание ошибки в справочной системе

- Шестнадцатеричный код – это не сообщение об ошибке!

- Отказ в предоставлении ресурсов без объяснения причины

- Сообщения об ошибках, которые не являются таковыми

Page 14: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 5. Ошибки отображения

- Два курсора

- Исчезновение курсора

- Курсор находится не в том месте

- Курсор вне области ввода данных

- Отображение ввода не в том месте экрана

- Недоочищена часть экрана

- Не выделены активные элементы экрана

- Не снято выделение

- Отображена неверная или неполная строка

- Сообщение остаётся слишком долго или исчезает слишком быстро

Page 15: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 6. Организация экрана

- Неэстетическое оформление экрана

- Неудачная организация меню

- Ошибки организации диалоговых окон

- Труднонаходимые инструкции

- Неуместрое использование мигания

- Пестрые цветовые сочетания

- Использование цветов в качестве смыслового интерфейса

- Немогласованность со стилем операционной среды

- Невозможность избавиться от избыточной информации на экране

Page 16: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 7. Потери времени

- Прогулки по меню

- Выбор, который не может быть сделан

- Вы совершенно, совершенно уверены?

- Непонятные названия команд

Page 17: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 8. Меню

- Чересчур сложная иерархия меню

- Неадекватные правила переходов по меню

- Слишком много способов выполнения одного и того же

- Невозможность выхода

- Разные команды в одном меню

- Одинаковые команды в разных меню

Page 18: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 9. Предотвращение неприятностей

- Отсутствие возможности резервного копирования

- Отсутствие команды отмены

- Отсутствие запросов на подтверждение команд

- Отсутствие возможности периодического сохранения данных

Page 19: Сэм Канер: Тестирование программного обеспечения

IV. Распространённые программные ошибки 10 (последнее) - Кто здесь главный?

- Навязывание ненужных ограничений

- Дружественность к новичкам, создающая неудобства

для опытных пользователей

- Навязчивая предупредительность

(например автоматическое исправление ошибок)

- Запрос информации без необходимости

- Ненужное повторение действий

- Ненужные ограничения

Page 20: Сэм Канер: Тестирование программного обеспечения

V. Тестирование документации

- Проанализируйте структуру документа

- Выполните общий анализ руководства

- Подумайте, какие ещё вопросы

требуют отдельного освещения

- Проанализируйте руководство

на соответствие концепции продукта

- Поищите неточности

- Проверьте сообщения об ошибках

Page 21: Сэм Канер: Тестирование программного обеспечения

Приложения.. и что-то что интересное

Page 22: Сэм Канер: Тестирование программного обеспечения

Приложение A.

Базовые инструменты тестировщика

- ПК или рабочая станция

- Хороший текстовый процессор

- Процессор планов

- Электронная таблица

- Утилиты сравнения файлов

- Просмотровики файлов

- Конвертеры файлов

- Утилиты для поиска текста

- Устройства видеозаписи

- Диагностические программы

- Таймер

- Система отслеживания проблем

- Программист

Page 23: Сэм Канер: Тестирование программного обеспечения

Приложение B.

Стандарты в программировании

- Проблемы с переносимостью

- Рекурсия (разрешена/запрещена)

- Степень вложенности (min/max)

- Константы в коде (обязательны/необязательны)

- Размер модуля (min/max)

- Комментарии (формат/длина/расположение)

- Соглашения об именах (конвенция)

- Форматирование (конвенция)

- Запрещённые конструкции (GOTO?)

- Запрещённые действия

- Псевдонимы (разрешены/запрещены)

- Преобразование типов данных (разрешено/запрещено)

Page 24: Сэм Канер: Тестирование программного обеспечения

Приложение С.

Чем иногда приходится поступаться

разработчикам программного обеспечения

- Надёжность

- Функциональность

- Деньги

- Дата выпуска

... деньги – имеется в виду:- непосредственная стоимость продолжения работ

- затраты на маркетинг/рекламу

- люди могли бы заниматься другим проектом...

- прибыль, полученная позже чем планировалось...

Page 25: Сэм Канер: Тестирование программного обеспечения

Содержание:

I. Тестирование на этапе планирования

II. Тестирование на этапе проектирования

III. Тестирование продукта

IV. Распространённые программные ошибки

V. Тестирование документации

Приложения:

Приложение A. Базовые инструменты тестировщика

Приложение B. Стандарты в программировании

Приложение С. Чем иногда приходится поступаться разработчикам программного обеспечения

Page 26: Сэм Канер: Тестирование программного обеспечения

Read more:

books-in-slides.blogspot.comall-in-slides.blogspot.com

Elena Sharovar,2010