СNet Unit Testing

Содержание

Слайд 2

О чем пойдет речь?

Что такое unit-тестирование?
Плюсы unit-тестирования
Unit-тестирование и стоимость разработки
Устройство unit-теста
Ограничения unit-тестирования

О чем пойдет речь? Что такое unit-тестирование? Плюсы unit-тестирования Unit-тестирование и стоимость

Слайд 3

Что такое unit-тестирование?

Unit-тестирование – проверка корректности небольших независимых кусочков кода.
Цель unit-тестирование –

Что такое unit-тестирование? Unit-тестирование – проверка корректности небольших независимых кусочков кода. Цель
показать, что каждый модуль приложения работает корректно.

Слайд 4

Практика unit-тестирования

Тестируемый кусочек кода = класс или метод класса
Unit-тесты автоматизированы
Unit-тесты пишутся на

Практика unit-тестирования Тестируемый кусочек кода = класс или метод класса Unit-тесты автоматизированы
том же языке, что и тестируемый код
Unit-тесты – простые!

Слайд 5

Плюсы unit-тестирования

Упрощают регрессионное тестирование, стимулируют рефакторинг
Поощряют написание слабосвязанного кода
Unit-тесты = документация!

Плюсы unit-тестирования Упрощают регрессионное тестирование, стимулируют рефакторинг Поощряют написание слабосвязанного кода Unit-тесты = документация!

Слайд 6

Практика unit-тестирования

Тестируемый кусочек кода = класс или метод класса
Unit-тесты автоматизированы
Unit-тесты пишутся на

Практика unit-тестирования Тестируемый кусочек кода = класс или метод класса Unit-тесты автоматизированы
том же языке, что и тестируемый код
Unit-тесты – простые!

Слайд 7

Unit-тесты и стоимость изменений

Unit-тесты и стоимость изменений

Слайд 8

Устройство unit-теста

Unit-тест = pattern-based тест
Unit-тест не зависит от других тестов!

Устройство unit-теста Unit-тест = pattern-based тест Unit-тест не зависит от других тестов!

Слайд 9

Тестирование метода

1

2

3

Тестирование метода 1 2 3

Слайд 10

Тестирование метода
[Test Fixture]
public class ProgramTest
{
[Test]
public void Add2Numbers_CorrectResult()
{
var target

Тестирование метода [Test Fixture] public class ProgramTest { [Test] public void Add2Numbers_CorrectResult()
= new ArithmeticUnit();
target.OperandA = 2;
target.OperandB = 3;
target.Add();
Assert.That(target.Result, Is.EqualTo(5));
}

Arrange

Act

Assert

Слайд 11

Тестирование метода
public int Calculate(int operandOne, int operandTwo)
{
int result = 0;
//

Тестирование метода public int Calculate(int operandOne, int operandTwo) { int result =
Perform some calculation.
return result;
}
///
///A test for Calculate
///

[TestMethod()]
public void CalculateTest()
{
Class1 target = new Class1(); // TODO: Initialize to an appropriate value
int operandOne = 0; // TODO: Initialize to an appropriate value
int operandTwo = 0; // TODO: Initialize to an appropriate value
int expected = 0; // TODO: Initialize to an appropriate value
int actual;
actual = target.Calculate(operandOne, operandTwo);
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Verify the correctness of this test method.");
}

Create Unit Tests
Wizard

Слайд 12

Тестирование метода

Разработка через тестирование (test-driven development, TDD)

Тестирование метода Разработка через тестирование (test-driven development, TDD)

Слайд 13

TDD: тесты пишутся до кода!

Пишу тест

Код не компилируется!

Определяю интерфейс

Тесты не проходят!

Реализую внутренности

Все

TDD: тесты пишутся до кода! Пишу тест Код не компилируется! Определяю интерфейс
тесты проходят!

Слайд 14

Инструментарий для unit-тестирования

Unit-Testing Frameworks

Разметка тестов
Проверка условий
Выполнение тестов
Создание отчетов

Инструментарий для unit-тестирования Unit-Testing Frameworks Разметка тестов Проверка условий Выполнение тестов Создание отчетов

Слайд 15

Unit-Testing Frameworks / .NET

Средства в составе Visual Studio
http://msdn.microsoft.com/en-us/library/dd264975.aspx
NUnit
http://www.nunit.org/
xUnit.net
http://www.codeplex.com/xunit
MbUnit / Gallio Automation Platform
http://www.gallio.org/

Unit-Testing Frameworks / .NET Средства в составе Visual Studio http://msdn.microsoft.com/en-us/library/dd264975.aspx NUnit http://www.nunit.org/

Слайд 16

Дополнительная информация

Шаблоны тестирования
xUnit. Рефакторинг кода тестов.

Джерард Месарош

Издательство: Вильямс, 2009 г.
http://www.williamspublishing.com/Books/978-5-8459-1448-4.html

Дополнительная информация Шаблоны тестирования xUnit. Рефакторинг кода тестов. Джерард Месарош Издательство: Вильямс, 2009 г. http://www.williamspublishing.com/Books/978-5-8459-1448-4.html
Имя файла: СNet-Unit-Testing.pptx
Количество просмотров: 108
Количество скачиваний: 0