В прошлые выходные побывал на тренинге "Тест дизайн и все-все-все", который вел Александр Фёдоров. В целом, интересного и нового для меня было мало, но метод составления тест-кейзов взял на заметку.
Метод состоит в том, что сначала необходимо разбить весь функционал продукта на части, выделить отдельные функции (этот процесс называется декомпозицией). Затем для каждой функции нужно составить таблицу переменных-сущностей (назовем ее просто, ТС). В ТС должны входить переменные окружения, параметры функции, другие факторы, влияющие или теоретически способные повлиять на ее работу. Столбцы ТС будут примерно такими: Операция (Функция), Переменная 1, Переменная 2, .. Переменная N. Затем для каждой переменной нужно выделить эквивалентные классы и записать их в соответствующий столбец. Когда ТС составлена, на ее основе можно создавать таблицы тест-кейзов с конкретными значениями переменных-сущностей. Есть несколько способов создания тест-кейзов на основе ТС, они различаются принципом перебора эквивалентных классов. Но лучше эти способы не использовать в чистом виде, а комбинировать. Получив таблицу тест-кейзов, можно добавить в нее столбец приоритета, это полезно в том случае, когда ресурсы ограничены и на выполнение всех тест-кейзов нет времени. Можно также прямо в таблице тест-кейзов выделить тестовые наборы регрессионных, BVT, smoke тестов, это очень удобно и наглядно.
Воодушевившись описанным методом, попробовал применить его у себя на работе. Могу сказать, что даже для несложной функции ТС получилась большой, с большим числом классов эквивалентности. Интуиция подсказывает, что в ТС необходимо оставить наиболее значимые переменные, иначе для прогона тестов, перебирающих все возможные эквивалентные классы, вряд ли когда-то хватит времени.
Сделал для себя вывод:
В целом, метод требует времени и кропотливой работы, но он полезен в плане наглядности процесса тестирования. С таблицей тест кейзов можно смело подойти к менеджеру или программисту и показать, что ты собираешься тестировать. Выслушав их замечания, можно исправить таблицу и внести что-то новое, поменять приоритеты. Также этот метод предлагает неплохой способ документирования. Полученные таблицы сущностей и тест-кейзов помогут оценить степень тестового покрытия и другие метрики, необходимые для глубокого тестирования продукта.
Метод состоит в том, что сначала необходимо разбить весь функционал продукта на части, выделить отдельные функции (этот процесс называется декомпозицией). Затем для каждой функции нужно составить таблицу переменных-сущностей (назовем ее просто, ТС). В ТС должны входить переменные окружения, параметры функции, другие факторы, влияющие или теоретически способные повлиять на ее работу. Столбцы ТС будут примерно такими: Операция (Функция), Переменная 1, Переменная 2, .. Переменная N. Затем для каждой переменной нужно выделить эквивалентные классы и записать их в соответствующий столбец. Когда ТС составлена, на ее основе можно создавать таблицы тест-кейзов с конкретными значениями переменных-сущностей. Есть несколько способов создания тест-кейзов на основе ТС, они различаются принципом перебора эквивалентных классов. Но лучше эти способы не использовать в чистом виде, а комбинировать. Получив таблицу тест-кейзов, можно добавить в нее столбец приоритета, это полезно в том случае, когда ресурсы ограничены и на выполнение всех тест-кейзов нет времени. Можно также прямо в таблице тест-кейзов выделить тестовые наборы регрессионных, BVT, smoke тестов, это очень удобно и наглядно.
Воодушевившись описанным методом, попробовал применить его у себя на работе. Могу сказать, что даже для несложной функции ТС получилась большой, с большим числом классов эквивалентности. Интуиция подсказывает, что в ТС необходимо оставить наиболее значимые переменные, иначе для прогона тестов, перебирающих все возможные эквивалентные классы, вряд ли когда-то хватит времени.
Сделал для себя вывод:
В целом, метод требует времени и кропотливой работы, но он полезен в плане наглядности процесса тестирования. С таблицей тест кейзов можно смело подойти к менеджеру или программисту и показать, что ты собираешься тестировать. Выслушав их замечания, можно исправить таблицу и внести что-то новое, поменять приоритеты. Также этот метод предлагает неплохой способ документирования. Полученные таблицы сущностей и тест-кейзов помогут оценить степень тестового покрытия и другие метрики, необходимые для глубокого тестирования продукта.
Комментариев нет:
Отправить комментарий