Перейти к содержимому

Фотография

Как организовать Unit тестирование


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 kokos68

kokos68

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • ФИО:Mike Koposov
  • Город:Тамбов

Отправлено 14 декабря 2012 - 10:49

Пару месяцев назад устроился на работу тестировщиком в одну из интернет компаний. Взяли пробный период, до этого опыта в тестирование веб приложений не я имел. За несколько месяцев вник в суть всех разработок, разобрался в тестах которые были созданы до меня. Начал внедрять новые инструменты в тестирование. В основном работа складывается из ручного тестирование, но есть и автоматическое. Теперь мне поставленна новая задача. Попробовать создавать юнит тесты для нового проекта. Покрыть тестами то что уже написано, и постепенно покрывать, то что будет написано. В программирование я на силен. Разработка ведется на ASP.NET. Дайте дельный совет. С чего начать? Книги, толковые мануалы в интернете?
  • 0

#2 greyreality

greyreality

    Новый участник

  • Members
  • Pip
  • 3 сообщений


Отправлено 14 декабря 2012 - 18:27

Та же проблема.
Плюс код трудно покрываемый тестами. Как мне известно части покрываемые тестами должны быть конечными т.е. решение которое тестируется должно приниматься в конце функции, например. Сейчас у нас в коде решение принимается в разных частях функций от этого необходимо избавится, а значит требуется разработчикам переписывать код.
Оцените тестируемый код с этой точки зрения.
На мой взгляд юнит-тесты дело разрабов, но хороший старт для начала автоматизации, поэтому тоже буду заниматься этим после НГ.
  • 1

#3 Drag

Drag

    Активный участник

  • Members
  • PipPip
  • 123 сообщений


Отправлено 16 декабря 2012 - 23:03

Юнит-тестированием обычно занимаются программисты. И для него действительно нужно уметь программировать. Лучше выясните что работодатель подразумевает под "юнит-тестами", если это и подразумевается, то пусть Ваши программисты Вам подскажут что учить и на чем тренироваться.
  • 1

#4 demitra91

demitra91

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Чугуева Наталья
  • Город:Минск

Отправлено 17 декабря 2012 - 11:47

Я вообще в этой теме теоретик и мало-мало практик (стаж по теории: месяц), но может чего и расскажу.

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

Писать вам придется на С#, получается.

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

Нужно сразу уточнить с помощью чего разрабатывать юнит-тесты.
Популярные варианты:
1. MSTest (если я не ошибаюсь, то это встроено в профессиональной версии студии);
2. NUnit.

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

В некоторых компаниях действительно программисты сами пишут эти тесты, но в некоторых этим занимаются и тестировщики.
  • 1

#5 kokos68

kokos68

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • ФИО:Mike Koposov
  • Город:Тамбов

Отправлено 17 декабря 2012 - 13:07

Использую встроенные средства Visual Studio.
Ну вот к примеру тестирую класс или метод в классе. Если метод изолирован, т.е. есть четкие входные параметры (массив, строка или там число) и есть выходные. То тут за меня все делает Visual Studio. Нужно только выбрать класс или метод, создать для него Unit test, а Visual предложит уже готовую конструкцию, необходимо только прикрутить на вход xml с набором входных данных и ожидаемых выходных значений.
Сложности возникают когда в качестве входных параметров начинают выступать другие классы (есть даже где на вхоже лямбда-фукции). И как в этом во всем разобраться? Где искать концы? Вот теперь думаю как организовать работу между тестировщиком и программистом. Чтобы тестировщику не было очень сложно и вообще он мог справиться и чтобы программисту сильно не отвлекаться.
В интернете все более менее сносные мануалы по юнит тестированию рассчитаны на человека, который сам пишет код!
  • 0

#6 Pryanik

Pryanik

    Постоянный участник

  • Members
  • PipPipPip
  • 214 сообщений
  • Город:МОСКВА

Отправлено 19 декабря 2012 - 10:04

Пару месяцев назад устроился на работу тестировщиком в одну из интернет компаний. Взяли пробный период, до этого опыта в тестирование веб приложений не я имел. За несколько месяцев вник в суть всех разработок, разобрался в тестах которые были созданы до меня. Начал внедрять новые инструменты в тестирование. В основном работа складывается из ручного тестирование, но есть и автоматическое. Теперь мне поставленна новая задача. Попробовать создавать юнит тесты для нового проекта. Покрыть тестами то что уже написано, и постепенно покрывать, то что будет написано. В программирование я на силен. Разработка ведется на ASP.NET. Дайте дельный совет. С чего начать? Книги, толковые мануалы в интернете?

Начните с изучения С# (материалы в интренете найти не сложно). Возможно если есть БД, то можно покрывать юнит-тестами процедуры функциии используемой БД (тогда еще дополнительно SQL, PLSQL).
В зависимости от инструмента для сборки проекта: 1. MSTest(TEST Manager если разработка c использованием TFS)
2. NUnit, XUnit, Resharper и подобные если сборка через Nant
  • 0

#7 Fruzenshtein

Fruzenshtein

    Новый участник

  • Members
  • Pip
  • 11 сообщений

Отправлено 12 февраля 2013 - 20:24

В каждом из ответов есть своя правда. Не стоит боятся того, что придется писать код, который будет тестировать код программистов. Для начала возьмите актуальную книгу по программированию (тот язык программирования, который используется на вашем проекте). Прочитайте ее и дополните чтивом литературы / интернет ресурсов о юнит тестировании под ваш язык программирования.

В Java в качестве начала можно использовать книги Шилдта или Экеля. А по JUnit существует очень много блогов и т д.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных