Я впервые набираю единичный тест для существующего программного обеспечения, и мой босс попросил меня написать единый тестовый план/план.
Будучи очень младшим разработчиком С#, я пытаюсь найти способ создания плана тестирования для этого приложения.
Я создал документ excel с несколькими листами, представляющими каждый проект в моих решениях. Я запутался в том, как документ для всех возможных результатов и ресурсов, особенно при работе с методами void и bool. Или при передаче моделей в метод, где передается много значений.
Как я могу документировать пропуск, неудачу, ожидаемые результаты для следующего метода 2, базовый план - это все, что я ищу, а не конкретная документация:
public static void ManualEntryToggleStateChanged(bool isChecked)
{
/* check for manual entry
* if manual entry information can be entered
* focus user to reg no
*/
moTextboxRegName.ReadOnly = !isChecked;
moTextboxRegHerd.ReadOnly = !isChecked;
if (isChecked)
{
moTextboxRegHerd.Text = "";
moTextboxRegName.Text = "";
moDropDownListBreed.Focus();
}
}
public static void LoadAllLabs(nsHacBusSrv.SortMode Sort = nsHacBusSrv.SortMode.NotSorted)
{
try
{
moDropDownListLab.DataSource
= moBusinessServices.GetAllLabs(Sort);
moDropDownListLab.DisplayMember = "Name";
moDropDownListLab.ValueMember = "Idn";
nsTelWinUi.RadListDataItem oDefaultItem
= new nsTelWinUi.RadListDataItem("", "");
moDropDownListLab.Items.Add(oDefaultItem);
moDropDownListLab.SelectedValue = "";
}
catch (System.Exception ex)
{
Debug.Fail(ex.Message);
throw;
}
}
Зачем использовать Excel? Если бы я был вами, я бы добавил тестовый проект к решению. Перейдите к каждому решению и добавьте единичные тесты для каждого из методов. Если у вас есть правильные плагины для визуальной студии, они создадут для вас все тестовые заглушки.
Насколько проверять, это партийное искусство, но в основном наука. Все это оборачивается этим. "Любой заданный параметр исчерпывающе проверен, если проверяются следующие условия: Min, Min -1, Min + 1, Max, Max -1, Max + 1.. Есть два других особых случая, которые вы должны учитывать при просмотре они string.empty и null.Это дает вам всего 8 перестановок для исчерпывающего тестирования всего, но вы обнаружите, что большую часть времени вы можете уменьшить это количество тестов на основе того, что вы тестируете. Например, значение bool имеет только 2 перестановки, но в строке parm есть как минимум 7 подстановок.
Художественная часть теста вращается вокруг шаблонов пятен и определения того, сколько perumatation действительно необходимо. Например, для двух параметров строки потребуется 7! -1 перестановок для проверки всех возможностей. 46 различных тестов, чтобы получить все состояния, но, если вы посмотрите на код достаточно часто, вы можете значительно уменьшить эти числа.
Ключ к хорошему тестированию не оставляет камня на камне и ничего не принимает. Пусть тесты расскажут вам, насколько надежным является код, а не разработчик.
Вы можете написать тест, в котором вы укажете указанные свойства в объектах moTextboxRegName и moDropDownListLab. Это предполагает, что у вас есть способ разоблачить эти объекты через ваш api. При проведении модульного тестирования вы должны написать свой код с учетом тестов, чтобы проверить свой код.