Как организовать Unit тестирование
#1
Отправлено 14 декабря 2012 - 10:49
#2
Отправлено 14 декабря 2012 - 18:27
Плюс код трудно покрываемый тестами. Как мне известно части покрываемые тестами должны быть конечными т.е. решение которое тестируется должно приниматься в конце функции, например. Сейчас у нас в коде решение принимается в разных частях функций от этого необходимо избавится, а значит требуется разработчикам переписывать код.
Оцените тестируемый код с этой точки зрения.
На мой взгляд юнит-тесты дело разрабов, но хороший старт для начала автоматизации, поэтому тоже буду заниматься этим после НГ.
#3
Отправлено 16 декабря 2012 - 23:03
#4
Отправлено 17 декабря 2012 - 11:47
Юнит-тестирование - это тестирование самых маленьких кусочков проекта. А именно, берем код, который написали наши гениальные разработчики, и тестируем в нем методы. Они же что-то принимают и что-то возвращают. Вот и получается, что на данном этапе уже нужно начинать отлавливать баги, потому что если проект огромный, то все обернется очень печально.
Писать вам придется на С#, получается.
Обязательные знания для того, чтобы написать простейший тест: основы C# (интерфейсы, методы, объекты и т.п.), ООП и представление о том, что умеет выбранный вами инструмент для юнит-тестирования.
Нужно сразу уточнить с помощью чего разрабатывать юнит-тесты.
Популярные варианты:
1. MSTest (если я не ошибаюсь, то это встроено в профессиональной версии студии);
2. NUnit.
Эти страшные названия имеют в себе много давно уже написанных методов, которые умеют сравнивать то, что возвращают нам методы в коде со значениями, которые мы ожидаем. Они имеют много разных-разных упрощающих жизнь сравнивалок и еще много-много других няшечек.
В некоторых компаниях действительно программисты сами пишут эти тесты, но в некоторых этим занимаются и тестировщики.
#5
Отправлено 17 декабря 2012 - 13:07
Ну вот к примеру тестирую класс или метод в классе. Если метод изолирован, т.е. есть четкие входные параметры (массив, строка или там число) и есть выходные. То тут за меня все делает Visual Studio. Нужно только выбрать класс или метод, создать для него Unit test, а Visual предложит уже готовую конструкцию, необходимо только прикрутить на вход xml с набором входных данных и ожидаемых выходных значений.
Сложности возникают когда в качестве входных параметров начинают выступать другие классы (есть даже где на вхоже лямбда-фукции). И как в этом во всем разобраться? Где искать концы? Вот теперь думаю как организовать работу между тестировщиком и программистом. Чтобы тестировщику не было очень сложно и вообще он мог справиться и чтобы программисту сильно не отвлекаться.
В интернете все более менее сносные мануалы по юнит тестированию рассчитаны на человека, который сам пишет код!
#6
Отправлено 19 декабря 2012 - 10:04
Начните с изучения С# (материалы в интренете найти не сложно). Возможно если есть БД, то можно покрывать юнит-тестами процедуры функциии используемой БД (тогда еще дополнительно SQL, PLSQL).Пару месяцев назад устроился на работу тестировщиком в одну из интернет компаний. Взяли пробный период, до этого опыта в тестирование веб приложений не я имел. За несколько месяцев вник в суть всех разработок, разобрался в тестах которые были созданы до меня. Начал внедрять новые инструменты в тестирование. В основном работа складывается из ручного тестирование, но есть и автоматическое. Теперь мне поставленна новая задача. Попробовать создавать юнит тесты для нового проекта. Покрыть тестами то что уже написано, и постепенно покрывать, то что будет написано. В программирование я на силен. Разработка ведется на ASP.NET. Дайте дельный совет. С чего начать? Книги, толковые мануалы в интернете?
В зависимости от инструмента для сборки проекта: 1. MSTest(TEST Manager если разработка c использованием TFS)
2. NUnit, XUnit, Resharper и подобные если сборка через Nant
#7
Отправлено 12 февраля 2013 - 20:24
В Java в качестве начала можно использовать книги Шилдта или Экеля. А по JUnit существует очень много блогов и т д.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных