Почему тестирование важно?
“Автоматизированное регрессионное тестирование” применительно для проектов 1С. Что за зверь и с чем его едят? Наша команда ведет разработку проектов на платформе 1С. Для получения качественного программного продукта на выходе необходимо тестировать работу программы. Это касается не только проверок новых разработок. Очень часто бывает, что при разработке на этапе эксплуатации программы разработчик меняет поведение уже существующего функционала.. Именно поэтому при любом изменении, в идеальном случае, необходимо проверить работу критически важных бизнес-процессов компании. Тестирование каждого участка функционала программы 1С – вещь неосуществимая.
Регрессионные ошибки в 1С
Итак регрессионная ошибка, что это такое? Ошибка в новой функциональности не так страшна. Почему? По сути при приемочных тестах она выявляется. Так как ответственный сотрудник тщательно проверяет новый релиз, касательно чего-то нового. К сожалению, все остальное остается без внимания. И в результате ошибки замечает конечный пользователь. А любая ошибка подрывает доверие сотрудника к программному обеспечению.
Итак, представим себе базу 1С со множеством различных функций. Причем все функции критически важны. Если что-то будет работать неправильно, пострадает бизнес. А конкретнее будут временные издержки, простои сотрудников. Это и есть регрессионная ошибка, единственный способ ее предотвратить – качественное регрессионное тестирование.
Ручное тестирование 1С
После окончания разработки программистом 1С, результат работы передается проверяющему сотруднику. В зависимости от организации процессов команды разработки это консультант или тестировщик 1С. Протестировать новое в программе 1С нужно обязательно. Протестировать работу все программы, при каждом ее изменении, можно. Но вопрос, сколько это займет времени и на сколько целесообразно. А вдруг никаких ошибок нет, и потратить два часа на проверки не хочется.
Сложность регрессионного тестирования еще заключается в одном. Необходимо проверять функциональность под разными правами доступа и разными пользователями. Таким образом мы выявим ошибки неправильной настройки ролей 1С.
Автоматизированное тестирование 1С
Смысл автоматизированного тестирования заключается в разработке скриптов действий пользователя. Данные скрипты (тесты) имитируют работу пользователя под его правами доступа. Они позволяют прогнать работу интерфейса и программы 1С. Прежде чем тестировать вручную, тестировщик сперва запустит тест. Эту задачу даже можно поручить программисту. Что в свою очередь, поможет повысить самодисциплину разработчиков.
Да, разумеется, необходимо потратить время на разработку авто тестов. Но если у нас огромный функционал, а время между релизами большое, автоматизирование тестирование поможет, сто процентов.
Принцип регрессионного тестирования
Что касается предметной области информационной базы, тестирование должно покрыть весь функционал программы 1С. Регрессионное тестирование должны быть целостным. Говоря конкретней, необходимо продумать тесты начиная вводом НСИ (нормативно-справочной информации), заканчивая проверкой данных выводимых отчетами.
Разумеется, все решения организации вашего процесса разработки, должны сопровождаться экономическим обоснованием. Окупаемость авто тестов это не дело одного месяца. Возможно, квартал или даже год. Затраты на разработку тестов, не должны превышать затраты, если бы тестирование проходило в ручном режиме.