2008/08/22

Откуда берутся баги?

Это жутко интересный вопрос, волнующий всю братию айтишников.


- Ошибки программистов

Программисты тоже люди, а людям свойственно ошибаться

- Изменения требований

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

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

В этих случаях менеджеры проекта должны понимать результирующие риски и тестировщки
должны адаптировать тест-план для интенсивного тестирования.

- Проблема времени

Не всегда время на проекты планируется правильно. Иногда все самое важное делается в последний момент. Когда на носу дедлайн и времени совсем нет - тогда и появляются баги.

- Элементарная нехватка коммуникаций

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

Что любят говорить разработчики?

- Здесь нет ошибки. Винды у вас кривые.
- Это сделать раз плюнуть
- Да я за часик это все исправлю, а вы раздули глобальную проблему
- Проще будет обновить старый код...

Вместо...

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

2008/08/21

Кто такой хороший тестировщик?

Есть программа которая вычисляет квадратный корень из числа.


Что сделает очень плохой тестировщик?

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

Что сделает плохой тестировщик?

- Кто-то ему сказал что программа возводит число в квадрат. Он ввел число 4, получил

в результате 2 и сказал что программа работает неправильно. Вернул разработчикам.

Что сделает не очень плохой тестировщик?

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

Что сделает хороший тестировщик?

- Прочитает спецификацию. Поймет что делает программа. Введет число 4, на выходе получит число 2. Введет число -2, на выходе получит число эксепшн - занесет баг.

Введет букву а в поле для числа, на выходе получит число эксепшн - занесет опять баг.

Что сделает тестировщик-профессионал?

- Изучит спецификацию.

- Напишет детальные тест-кейсы

- Проверит реакцию программы на целые, дробные числа, на ноль, на длинные числа, на отрицательные числа, на очень маленькие числа

- Проверит округление результата

- Проверит реакцию программы на неправильные данные (буквы, спецсимволы и т.д)

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

- Протестирует интерфейс пользовталея

- Протестирует программу в разных ОС

- И сделает еще много-много полезных вещей и команда выпустит действительно качественный продукт

2008/08/20

Тренинги по тестированию ПО в Черкассах от компании QATestlab

В конце сентября - начале ноября компания QATestlab будет проводить тренинги по тестированию ПО в Черкасском Государственном технологическом университете (ЧДТУ).


Цели тренинга:

1. Раскрыть особенности достаточно новой профессии - тестировщика ПО;

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

3. Научиться применять разные методики для тестирования программного обеспечения;

4. Научиться описывать ошибки программного обеспечения и писать тест-кейсы;

5. Научится правильно использовать ручное и автоматизированное тестирование в реальных проектах;

6. Научиться анализировать и разумно использовать собственное время в работе;

Структура программы тренинга:

Тема 1. Введение в процесс тестирования. Роль тестирования в жизненном цикле разработки программного продукта. Как в действительности тестируются программы.

Тема 2. Ошибки в программах. Описание программных ошибок и их анализ. Жизненный цикл программных ошибок.

Тема 3. Разработка тестов и структура тест-кейсов. Характеристики хорошего теста. Регрессионное тестирование.

Тема 4. Автоматизированное и нагрузочное тестирование. Использование программного обеспечения для тестирования ПО.



ПРОГРАММА


Тема 1. Введение в процесс тестирования. Роль тестирования в жизненном цикле разработки программного продукта. Как в действительности тестируются программы.



1. Ознакомление с основными теоретическими вопросами, определениями и терминами.

2. Тестирование «белого ящика» и «чёрного ящика»

3. Цель работы тестировщика

4. Цикл разработки ПО

5. Роль тестирования в жизненном цикле разработки программного продукта



Тема 2. Ошибки в программах. Описание программных ошибок и их анализ. Жизненный цикл программных ошибок.



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

2. Что такое качество. Разоблачение концепции о 100% тестировании ПО.

3. Типы багов. Атрибуты бага.

4. Описание программных ошибок и работа с багтрекинговой системой

5. Жизненный цикл программных ошибок.




Тема 3. Разработка тестов и структура тест-кейсов. Характеристики хорошего теста. Регрессионное тестирование.



1. Структура и детализация тест-кейсов.

2. Результаты исполнения тест-кейсов. Анализ полученных результатов.

3. Регрессионное тестирование.

4. Проверка исправленных ошибок.


Тема 4. Автоматизированное и нагрузочное тестирование. Использование программного обеспечения для тестирования ПО.



1. Использование автоматизированного тестирования с помощью Watir, Selenium, Rational Robot.

2. Нагрузочное тестирование с помощью Wapt, AB.exe, LoadRunner.

Использование программного обеспечения для тестирования ПО: программы для обнаружений утечек памяти, отслеживания сбоев, программы для web-тестирования.

По вопросам записи на тренинги:

ICQ: 82-0-четыре-5-5-два-0

E-mail: irinachсобачкаqa-testlabточкаcom

Нагрузочное тестирование с LoadRunner

Loadrunner - прекарсный продукт от компании Hewlett-Packard, предназаначеный для проведения нагрузочного тестирования и тестирования производительности.



Вы можете эмулировать сотни и тысячи виртуальных юзеров, которые будут делать определенные действия с вашим тестируемым приложением. Loadrunner обладает прекрасным инструментом для анализа полученных результатов - Loadrunner Analysis.
Результаты могут быть детально проанализированы с помощью наглядных графиков и вы можете выявить узкие места в тестируемом приложении до того как с этими проблемами столкнуться ваши пользователи.

Визуальные обучалки