Как Ускорить Процесс Написания Тест-кейсов
#1
Отправлено 04 июля 2007 - 12:41
Нет времени расписывать тест-кейсы заранее. Тестирование большей частью происходит не по документации, а "на чутьё". Встать и сказать "Мужики, давайте все делать последовательно, по IEEEE стандартам!" не представляется возможным.
Однако необходимо собрать базу тест-кейсов:
- для проведения регрешн-тестирования,
- и для того, чтобы подключить к тестированию новых работников.
- и для того, чтобы упорядочить весь процесс тестирования.
Подскажите наиболее скоростной и эффективный способ для того, чтобы быстро записывать тест-кейсы.
Подскажите наиболее скоростной и эффективный способ для того, чтобы собрать веб-базу тест-кейсов.
Спасибо.
Спасибо большое.
Software Testing Glossary - простыми словами о непростых словах.
#2
Отправлено 04 июля 2007 - 14:20
У нас в таком случае использовались чек-листы. Для регрешена вполне себя оправдали.Подскажите наиболее скоростной и эффективный способ для того, чтобы быстро записывать тест-кейсы.
С подключением новых работников есетственно будут возникать трудности, но при нормальном общении в команде трудности вполне решаемы. Зато новому человеку будет на что опираться при тестировании.
Вместо фразы "Вот тебе логины-пароли, на посмотри тут" у него уже будет обощенный план действий\список функциональности и почва для задавания конкретных вопросов в стиле "а как выполнить проверку бэкап скедьюлера? где он у нас в приложении находится?"
#3
Отправлено 04 июля 2007 - 14:20
Если да, то привязывайтесь к ним и пишите тесты со ссылкой на стори. Тогда будет видно что покрыто тестами, а что нет.
Прикидывайте, сколько тестов должно быть выполнено на это стори и пишите число, а потом смотрите сколько тест кейсов у вас есть. В результате будет видно насколько полно было протестировано это стори.
Составьте список стандартных тест-данных (речь идет не о тривиальных тестовых данных которые каждый может выдумать на ходу, а тех, которые нужно готовить заранее, например пустй файл, или файл большого размера, или файл со списком данных 1.000.000 пользователей). Указывайте связку: стори - тест кейс - тестовые данные.
Давно хочу придумать способ делать краткие тест кейсы. Точнее не столько тест кейсы, сколько их определение, что бы было понятно, что именно этот тест кейс проверяет. Но все "руки не доходят" сесть и подумать, как это может быть реализовано. Так что кроме как писать каждый тест кейс ничего предложить не могу.
Может кто поделиться своими приемами по определению тест кейсов (краткой записи)?
#4
Отправлено 04 июля 2007 - 15:45
В общем, у нас в компании нестыковка в процессах происходит. Программисты предлагают тестировать то, над чем они работали (это отражено в Mantis). Я хочу поднять процесс тестирования до уровня процессов программирования:
- тестировщика должны извещать заранее о том, что начинается разработка того или иного функционала
- нужно планировать время не только на само тестирование, но и на подготовку к тестированию.
Чтобы показать начальству преимущества этой "подготовки", мне необходимо показать им расписанный мною комплект тест-кейсов, на основе которого я сделаю тест-план, и буду тестировать по плану. В плане будет указано время, необходимое для проведения тестирования. Перспективый радужные.
Отсюда и вопрос: подскажите наилучший образ того, как в условиях нехватки времени умудриться очень-очень быстро записать тест-кейсы и опубликовать их в каком-нибудь веб-приложенном test cases manager?
Писать ну очень короткие тест-кейсы, а потом "проводить" их один за другим в виде "тест-комплектов"?
Расписывать их сразу в test cases manager? ("Быстро записать" - это в Блокнот. Но это черновик. "Быстро записывать" в Twiki или в RTH (беловик) не получается...)
У нас почему такая ситуация сложилась - очень высокая скорость разработки, еженедельно в продакшн выходят новые версии программного обеспечения. Программное обеспечение разрабатывается для собственных нужд, программисты свой код изрядно комментируют, и считают, что менять ничего не требуется.
В Twiki лежит много документации на уровне технических спецификаций, которые менеджмент обсуждает с программистами. Иногда они подробно расписывают Use Cases, чаще - оставляют все на уровне схемы программных модулей, которые друг с другом взаимодействуют. Мол, все обсуждено и понятно. А на деле - тестировщик постоянно дергает программистов с просьбой разъяснить да уточнить. И постоянно "не хватает времени". И постоянно непонятно, что приоритетнее тестировать. А это непонятие происходит из того, что не составляется и не обсуждается тест-план :( А чтобы составить тест-план - нужно составить тест-кейсы...
Software Testing Glossary - простыми словами о непростых словах.
#5
Отправлено 05 июля 2007 - 08:48
Я открывал эксель, в ряды заносил все функции, которые только видел в приложении: нажатие/отжатие кнопок, обновление экрана, перемещение элементов по спискам и т.д. Чем более детально составлялся этот список, тем лучше в итоге получались процедуры. Если нужно было писать ну очень быстро, приходилось вносить только основной функционал, не опираясь на детали, но по возможности добавляя их в более спокойное время.
Для каждой функции было 4 колонки: санити тест, сложный тест, коррапт-тест и сценарный тест. Санити - это "дымовой тест", напраленный на быструю проверку работоспособности фичи. Сложный тест содержал в себя граничные, но допустимые для функции значения. Коррапт-тест был направлен на установку недопустимых для функции параметров. Со сценарным и так все ясно.
Так вот, очень срочное написание требует заполнение всего лишь первой колонки, в нее можно записывать только краткое описание теста (мол, убедись, что при включении флажка будет выводиться прямоугольник). При просто быстром написании можно заполнить первую и вторую колонки.
#6
Отправлено 05 июля 2007 - 10:18
Для меня оптимальным вариантом быстрого написания большого количества качественных тестовых кейсов стало составление списка функциональности и определение для каждой функции некоторого списка тестов.
Супер.
Была ли задача перенести все результаты тестов в общую веб-базу?
Были ли какие-то требования о их оформлению?
Software Testing Glossary - простыми словами о непростых словах.
#7
Отправлено 05 июля 2007 - 11:25
Мы пользуемся внутренней тулой, куда можно экспортить нужные кейсы. Обычно на подготовку шаблона и экспорт уходило не более 3-4 часов для 1000-15000 кейсов. В общем, все зависит от используемых средств.
#8
Отправлено 05 июля 2007 - 11:44
- открываем Excel (или Calc)
- первая колонка - все функции, которые только попадаются на глаза
- вторая колонка - результаты смок-тестов каждой функции
- третья колонка - результаты тестов с граничными, но допустимыми для функции значениями
- четвертая колонка - результаты тестов с недопустимыми для функции параметров
- скоростной экспорт всей страницы с результатами в wiki-разметку и публикация файла на внутреннем сервере.
- начальству летит отчет - сделано то-то, пройдено/не пройдено столько-то тестов.
Но
- здесь нет ответа на то, сколько времени заняла подготовка тест-кейсов. Не всё же постоянно на ходу придумывать, рассматривая интерфейс?
- сколько времени уходит на расписывание какого-либо тест-кейса (по-моему, это ключевой момент для вычисления времени, необходимого для проведения тестирования и для определения приоритетов тестирования)?
Software Testing Glossary - простыми словами о непростых словах.
#9
Отправлено 05 июля 2007 - 12:18
Можно так и оставить в xls, только внести его под версионный контроль, это вполне годится для небольших проектов. Альтернативой является написание макроса или парсера, который дергал бы ячейки и составлял нормальный, отформатированный документ.
Мы пользуемся внутренней тулой, куда можно экспортить нужные кейсы. Обычно на подготовку шаблона и экспорт уходило не более 3-4 часов для 1000-15000 кейсов. В общем, все зависит от используемых средств.
В Excel-е есть очень хорошая функционяльность для таких задач - Pivot Table.
Можно собирать любые типы данных с любыми преобразованиями.
#10
Отправлено 05 июля 2007 - 12:36
Первый стобец в каждой строчке содержит одно, самое простое действие - клик,ввод,условие.
С второго по n столбцы могут содержать и содержат только какой-то символ, в нашем случае 'X', который означает, что это действие должно быть выполнено - таким образом в одной отдельно взятой колонке, начиная со 2 ,хранятся все действия необходимые для проверки тестового случая.
В самой нижней строке после всех действий заносится результат выполнения тест кейса - то с чем сравниваем в ходе тестирования.
Таким образом кол-во текста на реализацию одного кейса уменьшается до минимума.
Если надо будет пример обращайтесь.
#11
Отправлено 05 июля 2007 - 12:45
У нас почему такая ситуация сложилась - очень высокая скорость разработки, еженедельно в продакшн выходят новые версии программного обеспечения. Программное обеспечение разрабатывается для собственных нужд, программисты свой код изрядно комментируют, и считают, что менять ничего не требуется.
В Twiki лежит много документации на уровне технических спецификаций, которые менеджмент обсуждает с программистами. Иногда они подробно расписывают Use Cases, чаще - оставляют все на уровне схемы программных модулей, которые друг с другом взаимодействуют. Мол, все обсуждено и понятно. А на деле - тестировщик постоянно дергает программистов с просьбой разъяснить да уточнить. И постоянно "не хватает времени". И постоянно непонятно, что приоритетнее тестировать. А это непонятие происходит из того, что не составляется и не обсуждается тест-план :( А чтобы составить тест-план - нужно составить тест-кейсы...
Описана типичная ситуация для небольших проектов (2-5 разработчика на проект). И так же указана типичная ошибка для таких проектов (для более крупных проектов эта ошибка "вылазит" раньше, поэтому чаще всего ее решают каким-нибудь способом).
Ошибка заключается в том, что разработчики и бизнес-заказчики (менеджеры, как я понял) общаются напрямую без специального посредника - бизнес-аналитика или системного аналитика (по RUP). В результате мало внимания уделяется документации. Программисты не хотят заниматься бумажной работой. В их понимании это пустая трата времени. Ведь они и так знают всю спецификацию почти наизусть. Рано или поздно это приводит к тому, что документация теряет свою актуальность и выбывает из практического использования. Требования и изменения в требования "размазываются" по письмам, всяким листочкам, дополнительным приложениям. Как результат, никто не может разобраться в документации (даже сам разработчик).
Выход очень прост. Работа с требованиями - это задача отдельной роли, которую выполняет бизнес аналитик. Если хотите иметь всегда актуальную информацию - выделяйте ресурсы и время на эту работу.
Здесь я не затронул другие выгоды от привлечения бизнес-аналитика. Согласен, что ведение документации и поддержание ее в актуальном состоянии не является его основной (точнее сказать, главной) задачей.
Очень часто бывает так, что не возможно повлиять на чужой участок ответственности. К примеру, невозможно заставить ПМ-а взять в проект аналитика. Значит нужно действовать с другого конца. Необходимо взять тест дизайнера (или назначить кого-нибудь на эту роль). Тест дизайнер будет постоянно поддерживать в актуальном состоянии матрицу соответствия актуальных функций проекта (требований) и тест-кейсов. Он будет "выбивать" из разработчиков информацию - откуда взять последние данные о том, какие именно требования входят в последную версию и вносить изменения в матрицу Требования-ТестКейсы.
Дополнительно можно договориться с разработчиками, что при выпуске очередного билда они дополняют файл "Build notes" о том, какая функциональность была изменена/добавлена в очередном билде. Вообще-то это можно делать автоматически, если налажен автоматизированный воркфлоу по configuration management-у. Тогда при создании автоматической сборке формируется файл с описание, какие изменения были включены в сборку.
#12
Отправлено 05 июля 2007 - 13:15
Но
- здесь нет ответа на то, сколько времени заняла подготовка тест-кейсов. Не всё же постоянно на ходу придумывать, рассматривая интерфейс?
- сколько времени уходит на расписывание какого-либо тест-кейса (по-моему, это ключевой момент для вычисления времени, необходимого для проведения тестирования и для определения приоритетов тестирования)?
Рассматривая интерфейс можно одновременно записывать функционал и добавлять тесты.
На выявление фичи уходит ~2 минуты, на запись 2 тестов разных описаний тестов ~2-4 минут (замечу, что это санити и простой тест) с пересмотром и правкой неточностей. Итого 6 минут, и это в худшем случае.
#13
Отправлено 05 июля 2007 - 14:17
У нас почему такая ситуация сложилась - очень высокая скорость разработки, еженедельно в продакшн выходят новые версии программного обеспечения.
astenix,
полагаю, это ошибка выпускать фичи с такой быстротой. Надо учитывать, что тестирование имеет большую инертность по отношению к разработке (так как тестирование - это зависимый процесс). При такой скорости выпуска невозможно проводить регрешн тестирование. Выходит, что или у вас очень маленькие проекты (длительностью до 1-2 недель), либо это не полноценная разработка, а выпуск патчей (соответственно, и тестирование патчей а не всей функциональности).
В случае полноценной разработки такая скорость не только не оправдана, но и опасна. Нет никакой гарантии, что в продакшн не попадет критичный баг.
#14
Отправлено 11 сентября 2007 - 14:27
Рассматривая интерфейс можно одновременно записывать функционал и добавлять тесты.
На выявление фичи уходит ~2 минуты, на запись 2 тестов разных описаний тестов ~2-4 минут (замечу, что это санити и простой тест) с пересмотром и правкой неточностей. Итого 6 минут, и это в худшем случае.
А как происходит запись в чек-лист если фичу нужно проверять несколькими тестами? Например есть несколько вариантов использования. Т.е. одной строки для одной фичи недостаточно. Тогда записывается несколько строк для одной фичи с разными вариантами использования?
И ещё вопрос делаете ли вы сортировку тестов в чек листе? Например чтобы выполнять однотипные тесты, а не как попало.
#15
Отправлено 12 ноября 2007 - 13:25
неплохо было бы посмотреть пример, на первый взгляд идея ясна, но хотелось бы наглядности. Заранее спасибо.Описаный выше способ от d4lt, отчасти напомнил мне используемый нами на предыдущем проекте вариант:
Первый стобец в каждой строчке содержит одно, самое простое действие - клик,ввод,условие.
С второго по n столбцы могут содержать и содержат только какой-то символ, в нашем случае 'X', который означает, что это действие должно быть выполнено - таким образом в одной отдельно взятой колонке, начиная со 2 ,хранятся все действия необходимые для проверки тестового случая.
В самой нижней строке после всех действий заносится результат выполнения тест кейса - то с чем сравниваем в ходе тестирования.
Таким образом кол-во текста на реализацию одного кейса уменьшается до минимума.
Если надо будет пример обращайтесь.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных