Тестирование производительности



Используется для контроля качества “Эффективности”.

Для первичного анализа производительности серверной части используется ручное тестирование. Для оценки пригодности системы к промышленной эксплуатации на реальных объемах данных с заданным числом пользователей используется автоматизированное тестирование.

Для анализа поведения пользовательского интерфейса на реальных объемах данных используется ручное тестирование.

Стресс тестирование

Используется для контроля качества “Надежности” в части “Стабильности” и “Устойчивости к ошибке”.

Юзабилити тестирование

Используется для контроля качества “Практичности” в части “Понятности”, “Обучаемости”, “Простоты использования”.

Тестирование инсталляции

Используется для контроля качества “Мобильности” в части “Простоты внедрения”.

Проводится вручную.

Требования к численности и квалификации персонала

Оценка объема работ

Существует несколько способов оценок трудозатрат на тестирование. Проведем оценку по числу программистов
Для системы такого класса нормальным считается что 20-25% от трудоемкости проекта приходится на тестирование. Расчеты показывают, что трудоемкость проекта порядка 300 человеколет. Следовательно трудоемкость тестирования 60-75 человеколет. Учитывая неравномерность поглощаемой трудоемкости тестирования в зависимости от фазы проекта и целевой показатель создания системы в три года, в пике на проекте должно быть ___ тестировщиков.

Распределение по ролям и квалификации

Примечание 1. Несколько человек могут выполнять одну роль, и один человек может выполнять несколько ролей. Так, например, рекомендуется, чтобы администрирование сред и инструментов выполнялось по очереди разными сотрудниками группы тестирования. Такой подход позволяет защититься от высокой изменчивости трудоемкости в разных видах работ в разные периоды развития проекта.

Примечание 2. В вышеприведенной таблице указаны не только рекомендуемая численность персонала, но и рекомендуемое распределение. Сто стажеров не заменят группы вышеприведенного состава (например, они не смогут обеспечить приемлемое тестовое покрытие и проведение ряда тестов).

Необходимые ресурсы

2 Рекомендации к тестовому и прочим стендам описаны в [1]. В разное время, в зависимости от потребностей, могут существовать одновременно несколько тестовых стендов.

3 Так для тестирования:

  • переносимости и инсталляции - рекомендуется использовать стенд с изоляцией на уровне сети,
  • производительности - стенд, с характеристиками, максимально близкими к промышленной среде
  • проблем заказчика - должен быть стенд класса “Образ заказчика”.

Описание стендов и прав доступа можно найти в [2]

Программные средства

Управление тестированием TrackStudio

Трекинг дефектов TrackStudio

Управление проектом TBD

Работа с BD TBD

Профилирование работы сети TBD

Профилирование работы сервера приложений TBD

 

Пример плана тестирования 2

 

test-plan.doc

 

Пример плана тестирования 3

 

Тест план.pdf

 


Локализация и типизация ошибок

Цель работы

2.1.1 Научиться выполнять локализацию и типизацию ошибок.

Приборы и оборудование

2.2.1 Методические указания к выполнению практического занятия.

Порядок выполнения работы

2.3.1 Открыть ранее созданный программный продукт.

2.3.2 Выполнить трансляцию программы и получить информацию о скомпилированном файле.

2.3.3 Исправить синтаксические ошибки, выявленные при трансляции программы.

2.3.4 Подготовить набор из 5 тестов для проверки логики работы программы с нормальными и ошибочными исходными данными. Набор тестов представить в виде таблицы с графами: номер теста, входные данные, выходные данные.

2.3.5 Запустить программу на исполнение и проверить ее работу на каждом тесте.

2.3.6 В случае возникновения ошибок при проведении тестирования определить местонахождение ошибки (т.е. локализовать ее). Результаты тестирования указать в отчете.

Контрольные вопросы

2.4.1 Что такое локализация ошибок?

2.4.2 Что такое ошибка?

2.4.3 Что такое дефект?

2.4.4 Что такое отказ?

2.4.5 Классификация ошибок.

2.4.6 На что нужно обратить внимание при локализации ошибок?


 

Приложение Б

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Отладка – процесс локализации и исправления ошибок в программе. При тестировании проверяется: работает ли программа и все ее ветви в соответствии со своей спецификацией. Для этого разрабатывается стратегия тестирования.

Если при тестировании полученные результаты отличаются от эталонных, необходимо определить местоположение ошибки (локализовать ее), определить ее характер, а затем выработать гипотезу о природе ошибки.Т.о. локализация - это нахождение места ошибки в программе.

После того, как с помощью контрольных тестов (или каким либо другим путем) установлено, что в программе или в конкретном ее блоке имеется ошибка, возникает задача ее локализации, то есть установления точного места в программе, где находится ошибка.

Процесс локализации ошибок состоит из следующих трех компонент:

1. Получение на машине тестовых результатов.

2. Анализ тестовых результатов и сверка их с эталонными.

3. Выявление ошибки или формулировка предположения о характере и месте ошибки в программе.

Все ошибки в разработке программ делятся на следующие

Ошибка (error) – состояние программы, при котором выдается неправильные результаты, причиной которых являются изъяны в операторах программы или в технологическом процессе ее разработки, что приводит к неправильной интерпретации исходной информации, а следовательно и к неверному решению.

Дефект (fault) в программе является следствием ошибок разработчика на любом из этапов разработки и может содержаться в исходных или проектных спецификациях, текстах кодов программ, эксплуатационной документация и т.п. Дефект обнаруживается в процессе выполнения программы.

Отказ (failure) – это отклонение программы от функционирования или невозможность программы выполнять функции, определенные требованиями и ограничениями и рассматривается как событие, способствующее переходу программы в неработоспособное состояние из–за ошибок, скрытых в ней дефектов или сбоев в среде функционирования.

Классификация ошибок

1. Синтаксические ошибки. Синтаксические ошибки – это ошибки, допущенные при неверном употреблении конструкции языка. Синтаксические ошибки, как правило, обнаруживаются транслятором, и их устранение не представляет особого труда.

2. Опечатки. Опечатки, как правило, вызваны невнимательностью программиста при механическом наборе или редактировании исх1 текста. Подобные ошибки, несмотря на их видимую простоту, довольно сложно находить без тщательной пошаговой отладки.

3. Ошибки реализации алгоритма. Под эту категорию попадают все ошибки вызванные неверным программированием при верном алгоритме.

Данные ошибки труднее всего находить, поскольку их проявление зачастую зависит от текущего содержимого памяти на конкретном компьютере.

4. Ошибки алгоритма. Алгоритм может содержать логические ошибки, которые закономерно приводят к ошибочной работе программы при безупречном программировании. Такие ошибки тяжело выявлять, поскольку на них довольно часто накладываются ошибки реализации.

5. Ошибки метода. Ошибки метода заключаются в неверном описании метода вычисления. Такие ошибки программисту обнаружить достаточно тяжело, поскольку ответственность за описание метода лежит на эксперте в конкретной Предметн. обл..

ИНТЕРНАЦИОНАЛИЗАЦИЯ: 5 РАСПРОСТРАНЕННЫХ ДЕФЕКТОВ

· Сломанные кодировки. Если в приложении используются кодировки, которые не поддерживают, к примеру, китайские символы, то при переходе на китайскую локаль вместо ожидаемых иероглифов мы увидим неинформативные квадратные элементы.

Чем еще опасны неподдерживаемые кодировки? К примеру, мы не планируем переводить приложение в будущем на другие языки, однако планируем использовать его во всем мире. В этом случае при вводе неподдерживаемых символов в поле поиска (или, например, создания пользователя и пароля) мы можем получить 500-ю ошибку сервера в лучшем случае, а в худшем – выход сервера из строя.

· Еще одна головная боль тестировщиков – это неподдерживаемые локальные календари, форматы даты и времени, которые приняты в различных частях мира. К примеру, может использоваться 24- либо 12-часовой формат времени, либо формат даты в приложении будет отличаться от того, который установлен по умолчанию для локальной операционной системы.

· Помимо форматов даты и времени, часто встречаются ошибки с разделителями дробных чисел, которые также должны соответствовать локали, установленной по умолчанию в операционной системе. Например, на одном проекте было обнаружено, что у US-локали ресурса отсутствует поддержка разделителей в виде запятых.

· Отдельно стоит остановиться на жестко закодированных элементах в приложении. В приложениях такие ошибки являются достаточно распространенными, и их стоит исправлять как можно раньше.

Сюда же можно отнести и отсутствие возможности добавления нового перевода либо редактирования изображений, цветовых предпочтений при локализации приложения для конкретной страны.

· Также в процессе тестирования интернационализации необходимо обращать внимание на возможность изменения направления текста и зеркалирования интерфейса. При этом обязательно стоит обратить внимание на сами буквы. Зеркалирование не должно их затрагивать, а сами шрифты должны отображаться правильно.

ЛОКАЛИЗАЦИЯ: 5 ДЕФЕКТОВ, О КОТОРЫХ СТОИТ ЗНАТЬ

Самыми многочисленными дефектами локализации после грамотно проведенной интернационализации будут различные UI-дефекты, недопереводы и излишние переводы. Однако встречаются и функциональные дефекты, которые как раз и являются наиболее приоритетными для любого приложения.

· Одним из самых распространенных дефектов локализации является использование различных названий для одного элемента управления. Особенно часто это касается кнопок «Ok» и «Cancel». Зачастую для одной части приложения эти кнопки переводятся и имеют соответствующий элемент на местном языке, а для другой части – переводов нет.

Названия должны быть унифицированы для всего приложения и для всех составляющих его частей.

· Еще одна важная проверка, которую стоит выполнять и обязательно при выключенном интернете, – это проверка путей к системным папкам. Зачастую такие пути, ссылки и указатели нарушаются при переводах и перестают вести на нужные ресурсы. Пользователь видит место для картинки, но самой картинки он не видит, поскольку путь указан неверно.

· Ранее упоминалось, что отсутствие поддержки для календарей региональных форматов – это дефекты интернационализации. Недопереводы календарей для каждого конкретного языка – это уже локализационные проблемы. При этом стоит обращать внимание и на всплывающие подсказки, и на системные уведомления.

· UI-дефекты. К этой группе дефектов относятся неподдерживаемые шрифты, неверные размеры кнопок и выпадающих списков, некорректные переносы в элементах управления, названиях колонок в таблицах, и так далее. Зачастую их достаточно много в приложении, особенно, если при проведении интернационализации не использовалась псевдолокализация – прием, при котором в приложение добавляются строки на 30% длиннее предполагаемых для проверки их отображения.

· Недопереводы основного контента. Здесь стоит вспомнить о грамматических, синтаксических, стилистических и смысловых ошибках. Для анализа текста обязательно должны привлекаться профессиональные лингвисты, которые смогут проверить качество текста как с точки зрения его корректности, так и смысловой цельности.

Подводя итог, хочется еще раз отметить, что при любом тестировании важно уделить внимание функциональности и бизнес-логике приложения. Такие функциональные дефекты как, к примеру, неработающие поиск и сортировка, проблемы с обновлением или заменой каких-либо элементов – это дефекты, которые будут влиять на работу пользователей в приложении. А после проверки работоспособности приложения стоит перейти к проверкам пользовательского интерфейса. Здесь вы можете столкнуться с дефектами локализации. Такие дефекты можно назвать менее приоритетными, чем функциональные, однако на пользовательский опыт они имеют очень сильное влияние. Да и какой пользователь будет рад приложению, которое не поддерживает символы, необходимые для ввода логина и пароля?

Тестирование локализации:


Дата добавления: 2021-02-10; просмотров: 186; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!