Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Предоставление результата выполнения тестов


(5am) #1

Доброе время суток,

Возник такой вопрос:

Кто как логирует ход выполнения тестов ? (txt, hml) (plain text, в форме отчета, etc)

Например на текущий момент мой лог выполнения теста выглядит примерно так (абстрактно)

---------------------

Дата, время, имя компьютера, etc

 

Переход на url %url name%

--- Авторизация (имя пользователя, пароль) ---

Заполнение формы авторизации

Отправка формы авторизации

 

--- Создание пользователя (имя, фамилия) ---

Открытие списка пользователей

Открытие формы создания нового пользователя

Заполнение формы

Отправка формы

Открытие списка пользователей

Проверка наличия пользователя %имя% в списка существующих

...

---------------------

все это сохраняется в txt и после окончания работы теста присылается на почту.

Интересно увидеть кто как логирует ход выполнения своих тестов.

Спасибо


(S4J) #2

Я думаю идеально - это логировать в Вашу Тест Менеджмент систему. Т.е. сконфигурировать интеграцию и отмечать PASS/FAIL для каждого степа в тесткейсе (возможно с комментариями). Я видел и работал с таким в проекте где связка С# тестов с Microsoft Test Manager и хочу это стедать сейчас в проекте где Java+Webdriver+TedtNG тесты, а TestRail как Тест менеджмент. Такой подход позволяет избежать лишнего логирования и идет интеграция с Тест Кейсами, т.е. автоматизация не оторвана от ручного процесса тестирования.

P.S.

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


(migal) #3

Целесообразно было бы использовать XML или JSON или другие форматы межсистемного взаимодействия, т.к. существует множество библиотек для их конвертации в нужный формат и они достаточно гибкие в плане насыщения данными.

Также есть подходы, в которых можно использовать БД для логирования. Например SqlLite использовалась в одном проекте. Использование БД может позволить хранить историю запуска тестов и собирать статистику по багам в обход трекинговых систем.

 


(apetrovskiy) #4

SQLite +1

Делается очень легко, пример кода: tmx.codeplex.com, классы NewTMXTestDBCommand, BackupTMXTestResultsCommand.

Из замеченных недостатков (.NET) - для каждого фреймворка (3.5, 4.0) и каждой битности свои  библиотечки тащить надо.

Решается, конечно, сетапом (которого у меня пока нет).

Можно руками подсовывать библиотечки другой битности - работает (это плюс).


(apetrovskiy) #5

Если полезете смотреть, то там же рядом и пример сохранения структуры результатов в XML (сюиты, в них сценарии, в них тест резалты) tmx.codeplex.com/TMXHelper/ExportResultsToXML


(apetrovskiy) #6

Многие тест-менеджмент системы принимают на вход экселевские файлы (я даже одну такую конвертилку писал для одной непопулярной системы :) Зато API был с этой системе просто супер! Жаль, что система сошла на нет)

Кстати, и фитнес принимает эксель (у нас ребята это пользовали).


(5am) #7

не поверите, писал, писал ответ, потом только заметил что я и создавал эту тему…

пока тестов не много, стартанул новый проект и пока все в самом начале
реализовал данный подход (правда его еще надо будет довести до ума как руки дойдут), образно:

  1. WCF Web Service
  2. mongo db - для хранения результатов
  3. asp.net страничка - для удаленного запуска тестов и отображения результатов. С фильтрами (по тесту, дату, результату и т.д.)
  4. тест агент - консольное приложение которое “слушает” веб сервис - запускается на
    пк, где выполняются тесты. у нас это отдельная машина

схема работы такая:

  • есть смок тесты, которые проверяются базовый функционал и дает
    “зеленый свет”, т.е. билд можно брать в тестирование. Они запускаются
    не посредственно “из билда”, т.е. из CI (TeamCity)

Есть регрешен тесты:

  • тесты запускаются с веб странички (выбираем тесты, машину где
    установлен тест агент, нажимаем запустить). Дается команда веб
    сервису на запуск тестов. Тест агент слушающий сервис получает
    команду и запускает тест из консоли (аля mstest.exe
    /testcontainer:… /test: a,b,c
  • по окончанию работы, тест постит результат (success/failed/error
    message/exception) в веб сервис (веб сервис сохраняет результат в
    базу)
  • отсылает лог о прохождении, в формате примерно как в первом посте -
    на почту (в html формате с подстветкой текста - шаг теста, отладочная
    информация, варнинг, ошибка, и т.д)

Любой желающий заходит на веб страничку (которая дергает сервис командой “дай мне результаты бла бла бла” и видит результаты прохождения теста(ов) в таблице

p.s. в целом хватало и обычных отчетов на почту, это сделал так - для саморазвития :smile: