Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Выбор тест-комплектов для регрессивного тестирования.

Читайте также:
  1. I. Выбор параметров передач привода
  2. I. Тепловой расчет и выбор конструкции теплообменного аппарата
  3. А: Задания базового уровня сложности с выбором ответа
  4. А:задания базового уровня сложности с выбором ответа.
  5. Автокорреляционная функция ЛЧМ-сигнала. Сечения функции неопределенности ЛЧМ-сигнала. Выбор класса зондирующих сигналов для РЛС.
  6. Антон Долгих проследит за регистрацией последнего кандидата на довыборах в ОЗС
  7. Аудиторская выборка

2. Решение проблемы противоречия между ограничен­ными ресурсами (например, время на регрессивное тес­тирование) и перманентно увеличивающимся количест­вом тест-комплектов.

Кстати, как обычно, я излагаю личное видение предмета. В разных компаниях поступают по-разному, но, после того как вы поймете, что я вам расскажу, вы сможете немедленно адаптировать свои знания к ре­альности компании, в которой будете работать.

Выбор тест-комплектов

Для регрессивного тестирования

Первый вопрос: "Как узнать, какие части ПО могут быть поломаны?"

С одной стороны, как мы уже не раз говорили, в сложной системе, которой является более или менее серьезный веб-сайт, во многих случаях сверхсложно определить, где и как откликнется измене­ние кода, с другой — мы все-таки можем предполагать:

к какой части ПО принадлежат новые фича (например, фича из спека #5419 "Новые функциональности для Кор­зины" принадлежат к "Корзине") и

какие старые фича напрямую зависят от части ПО с новыми фича (например, компонент "Оплата" использует данные (по ценам книг), которые передаются ей компонен­том "Корзины").

Решение следующее:

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

Например,

при новых фича для "Корзины" в первую группу идут все тест-комплек­ты, непосредственно тестирующие "Корзину".

Рациональное объяснение:

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



Тестирование Дот Ком. Часть 3


Второй группой кандидатов для регрессивного тестирования у нас будут тест-комплекты, проверяющие старые фича, которые зависят от части ПО с новыми фича.

Например,

при новых фича для "Корзины" во вторую группу мы можем отнести тест-комплекты, проверяющие "Оплату".

Рациональное объяснение:

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

Например, при изменениях в коде "Корзины" был легитимно (согласно спеку) изменен формат куки (cookie — файл с информацией о вашем заказе, хранящийся на вашем компьютере и используемый веб-сер­вером). Часть же ПО, которая заведует "Оплатой", не была модифи­цирована (или была модифицирована неверно), и она (эта часть ПО) просто не понимает новый формат куки, а следовательно, купить книгу не представляется возможным.

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

Проиллюстрируем:

 

 

 

 

 

 

 

Группа Номер тест-комплекта
  #XS1111
#TS1222
#TS1333
  #TS2444
#TS2555
#TS2777
#TS2888
#TS2999

Теперь вопрос второй: "Как уложиться в срок, выделенный для регрессивного тестирования?"

Допустим, что у нас есть два тестировщика и неделя времени, т.е. 80 человеко-часов (112 — с выходными, 336 — без сна и отдыха).

Вопрос: Сможем ли мы исполнить все 8 тест-комплектов за эти 80 часов?


Исполнение тестирования. Стадия 2: регрессивное тестирование 275

Ответ: Очевидно, что для этого нужно знать, сколько времени занимает исполнение каждого из этих тест-комплектов.

Вопрос: Как это узнать?

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

"Примерно"потому что исполнение тест-комплекта может варьироваться в зависимости, например, от того, кто его испол­няет (хотя есть и другие факторы). На практике, особенно в слу­чаях со сложными и трудоемкими тест-комплектами, быстрее справляется с задачей тот, кто уже однажды исполнялв данный конкретный тест-комплект.

Допустим, что мы знаем, сколько времени занимает исполнение каждого тест-комплекта.

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

 

 

 

 

 

 

 

Группа Номер тест-комплекта Время на исполнение (в часах)
  #TS1111  
#TS1222  
#TS1333  
  #TS2444  
#TS2555  
#TS2777  
#TS2888  
#TS2999  

Итого, 131 час, что больше запланированных 80, и даже если мы будем работать в выходные, то не хватает 19 часов (131 - 112). Эти 19 часов могут быть, например, распределены на работу в сверхурочное время: примерно 2 часа 40 минут плюс к нашим



Тестирование Дот Ком. Часть 3


восьми часам семь раз в неделю (19:7). Кстати, так и поступают во многих стартапах.

Но допустим, что наш www.testshop.rs не относится к этим мно­гим и славится человечным отношением к своим работникам.

Итак, нам, гуманистам, не хватает 51 часа (131- 80) для исполне­ния регрессивного тестирования. Что можно сделать? Среди прочих вещей, таких, как заимствование сотрудников из других отделов, можно сделать следующее: у нас есть приоритет каждого из тест-комплектов. Так давайте же исполним самые приоритетные из них!

 

 

 

 

 

 

 

Группа Номер тест-комплекта Время на исполнение (в часах) Приоритет
  #TS1111    
#TS1222    
#TS1333    
  #TS2444    
#TS2555    
#TS2777    
#TS2888    
#TS2999    

Если мы исполним тест-комплекты

• только 1-го приоритета, то регрессивное тестирование возь­мет 24 часа (10+ 14);

• только 1-го и 2-го, то — 55 часов (24 + 12 + 19);

• только 1, 2 и 3-го, то — 96 часов (55 + +5 + 26), это нам не подходит.

Итак, мы исполняем тест-комплекты 1-го и 2-го приоритетов. Оставшиеся 25 часов (80 - 55) можно отдать на исполнение, на­пример:

• спека #1222 (15 часов), либо

• спека #2888 (26 часов), либо

• исполнить наиболее приоритетные тест-кейсы из обоих этих тест-комплектов (самая лучшая идея).

Концепция, думаю, понятна.

Кстати,

определение списка тест-комплектов для регрессивного тестирования — это, как правило, прерогатива менеджмента.


Исполнение тестирования. Стадия 2: регрессивное тестирование 277

Теперь о третьей группе.

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

Например, если у нас есть 45 тест-комплектов и один релиз в месяц, то, если исполнять по 15 тест-комплектов каждый релиз, за 3 месяца можно исполнить их все.


Дата добавления: 2015-12-07; просмотров: 236 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.011 сек.)