🗊 Презентация Тестирование и отладка ПС 2

Категория: Образование
Нажмите для полного просмотра!
Тестирование и отладка ПС 2, слайд №1 Тестирование и отладка ПС 2, слайд №2 Тестирование и отладка ПС 2, слайд №3 Тестирование и отладка ПС 2, слайд №4 Тестирование и отладка ПС 2, слайд №5 Тестирование и отладка ПС 2, слайд №6 Тестирование и отладка ПС 2, слайд №7 Тестирование и отладка ПС 2, слайд №8 Тестирование и отладка ПС 2, слайд №9 Тестирование и отладка ПС 2, слайд №10 Тестирование и отладка ПС 2, слайд №11 Тестирование и отладка ПС 2, слайд №12 Тестирование и отладка ПС 2, слайд №13 Тестирование и отладка ПС 2, слайд №14 Тестирование и отладка ПС 2, слайд №15 Тестирование и отладка ПС 2, слайд №16 Тестирование и отладка ПС 2, слайд №17 Тестирование и отладка ПС 2, слайд №18 Тестирование и отладка ПС 2, слайд №19 Тестирование и отладка ПС 2, слайд №20 Тестирование и отладка ПС 2, слайд №21 Тестирование и отладка ПС 2, слайд №22 Тестирование и отладка ПС 2, слайд №23 Тестирование и отладка ПС 2, слайд №24 Тестирование и отладка ПС 2, слайд №25 Тестирование и отладка ПС 2, слайд №26 Тестирование и отладка ПС 2, слайд №27 Тестирование и отладка ПС 2, слайд №28 Тестирование и отладка ПС 2, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Тестирование и отладка ПС 2. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Тестирование и отладка ПС (часть 2) Отвагин Алексей Владимирович, доцент каф. ЭВМ, к.т.н., а. 505-5
Описание слайда:
Тестирование и отладка ПС (часть 2) Отвагин Алексей Владимирович, доцент каф. ЭВМ, к.т.н., а. 505-5

Слайд 2


Содержание Интеграционное тестирование Автоматизация тестирования
Описание слайда:
Содержание Интеграционное тестирование Автоматизация тестирования

Слайд 3


Характеристика интеграционного тестирования Действия: проверка взаимодействия модулей посредством интерфейсов Цель: выявление ошибок в интерфейсе или...
Описание слайда:
Характеристика интеграционного тестирования Действия: проверка взаимодействия модулей посредством интерфейсов Цель: выявление ошибок в интерфейсе или кооперации модулей Условие: модули уже протестированы

Слайд 4


Схема интеграционного тестирования ПС представлено композицией модулей Модули уже протестированы автономно Тестируются интерфейсы Системное поведение...
Описание слайда:
Схема интеграционного тестирования ПС представлено композицией модулей Модули уже протестированы автономно Тестируются интерфейсы Системное поведение не оценивается Создается граф вызовов процедур Для тестирования модуля P необходимо Все субмодули (потомки) реализованы (реальный код или имитация) Реализован один или все родители модуля (реальный код или драйвер)

Слайд 5


Метод большого взрыва Сразу собрать все модули в одну программу Надежда на результаты автономных тестов Требуется небольшое количество тестов Тяжело...
Описание слайда:
Метод большого взрыва Сразу собрать все модули в одну программу Надежда на результаты автономных тестов Требуется небольшое количество тестов Тяжело локализовать ошибки

Слайд 6


Нисходящий метод Начинаем с основного модуля: Main Все модули, к которым обращается Main, заменены заглушкой: Простая заглушка Имитатор поведения...
Описание слайда:
Нисходящий метод Начинаем с основного модуля: Main Все модули, к которым обращается Main, заменены заглушкой: Простая заглушка Имитатор поведения Легко программируется Для проверки взаимодействия: фиктивный возврат Проверка вычислений: имитатор функции

Слайд 7


Нисходящий метод (продолжение) Следующая итерация: модуль A Требуются новые заглушки (количество и качество заглушек могут меняться) На каждый модуль...
Описание слайда:
Нисходящий метод (продолжение) Следующая итерация: модуль A Требуются новые заглушки (количество и качество заглушек могут меняться) На каждый модуль требуется новый сеанс тестирования Легко локализовать ошибки

Слайд 8


Восходящий метод Начинаем с модуля нижнего уровня: E Заменяем вызывающий модуль драйвером: Имитирует вызовы реального модуля Сложно программировать:...
Описание слайда:
Восходящий метод Начинаем с модуля нижнего уровня: E Заменяем вызывающий модуль драйвером: Имитирует вызовы реального модуля Сложно программировать: Ограничения по времени Трудности реализации сложных стратегий Требуется много драйверов Драйвер может изменять поведение Требуется много сеансов тестирования Легко локализовать ошибки

Слайд 9


Сэндвич Смесь восходящего и нисходящего подходов Требует заглушек и драйверов Тестируем интерфейсы между уже протестированными участками или...
Описание слайда:
Сэндвич Смесь восходящего и нисходящего подходов Требует заглушек и драйверов Тестируем интерфейсы между уже протестированными участками или подграфами Количество сеансов тестирования среднее Труднее локализовать ошибки

Слайд 10


Схема интеграционного теста Входные значения/действия + настройка драйвера/заглушки/модуля + ожидаемый вывод (вызовы, действия, результаты) В...
Описание слайда:
Схема интеграционного теста Входные значения/действия + настройка драйвера/заглушки/модуля + ожидаемый вывод (вызовы, действия, результаты) В созданном графе структуры программы: Путь между модулями: p1/p2/p3 Структура вызовов и возвратов: Main < C < F > C > Main

Слайд 11


Автоматизация тестирования Подходы к тестированию могут быть обобщены Развитие open-source привело к созданию множества доступных средств...
Описание слайда:
Автоматизация тестирования Подходы к тестированию могут быть обобщены Развитие open-source привело к созданию множества доступных средств автоматизации Созданы среды для многих популярных языков JUnit, Cunit и др.

Слайд 12


Модульное тестирование (unit testing) Модуль – наименьшая единица кода, разрабатываемая одним программистом Модульные тесты пишутся на том же языке,...
Описание слайда:
Модульное тестирование (unit testing) Модуль – наименьшая единица кода, разрабатываемая одним программистом Модульные тесты пишутся на том же языке, что и тестируемый код Модульные тесты пишутся теми же самыми программистами, которые написали код Среда тестирования собирает тесты в наборы и позволяет их пакетное выполнение

Слайд 13


Неисправности и ошибки Неисправность (failure) – наличие в коде устранимой погрешности, выявленной assert() Ошибка (error) – наличие в коде...
Описание слайда:
Неисправности и ошибки Неисправность (failure) – наличие в коде устранимой погрешности, выявленной assert() Ошибка (error) – наличие в коде погрешности, вызывающей системную ошибку или исключение

Слайд 14


Основы JUnit Класс, который тестируется – класс продукта Класс, который тестирует – класс теста Каждому классу продукта соответствует собственный...
Описание слайда:
Основы JUnit Класс, который тестируется – класс продукта Класс, который тестирует – класс теста Каждому классу продукта соответствует собственный класс теста Классы тестов объединяются в набор (suite)

Слайд 15


Пример Largest Пример определяет наибольшее число в списке значений Например, [7, 8, 9]  9 public class Largest { /** * Return the largest element...
Описание слайда:
Пример Largest Пример определяет наибольшее число в списке значений Например, [7, 8, 9]  9 public class Largest { /** * Return the largest element in a list. * * @param list A list of integers * @return The largest number in the given list */ public static int Largest(int[] list) { int index, max=Integer.MAX_VALUE; for (index = 0; index < list.length-1; index++) { if (list[index] > max) { max = list[index]; } } return max; } }

Слайд 16


Тест для Largest import junit.framework.*; public class TestLargest extends TestCase { public TestLargest(String name) { super(name); } public void...
Описание слайда:
Тест для Largest import junit.framework.*; public class TestLargest extends TestCase { public TestLargest(String name) { super(name); } public void testSimple() { assertEquals(9, Largest.largest(new int[] {7,8,9})); } }

Слайд 17


Интерфейс JUnit Существует три пользовательских интерфейса для JUnit TestRunner: TextUI: Обеспечивает текстовый вывод в stdout. AwtUI: Обеспечивает...
Описание слайда:
Интерфейс JUnit Существует три пользовательских интерфейса для JUnit TestRunner: TextUI: Обеспечивает текстовый вывод в stdout. AwtUI: Обеспечивает вывод на основе графического интерфейса пользователя, используя AWT из Java. SwingUI: Обеспечивает вывод на основе графического интерфейса пользователя, используя комплект компонентов графического интерфейса пользователя Swing из Java. java junit.USERINTERFACE.TextRunner classfile

Слайд 18


Вывод для Largest There was 1 failure: 1) testSimple(TestLargest)junit.framework.AssertionFailedError: expected: but was: at...
Описание слайда:
Вывод для Largest There was 1 failure: 1) testSimple(TestLargest)junit.framework.AssertionFailedError: expected: but was: at TestLargest.testSimple(TestLargest.java:11) Причина: int index, max=Integer.MAX_VALUE;

Слайд 19


Тест порядка в списке Largest import junit.framework.*; public class TestLargest extends TestCase { public TestLargest(String name) { super(name); }...
Описание слайда:
Тест порядка в списке Largest import junit.framework.*; public class TestLargest extends TestCase { public TestLargest(String name) { super(name); } public void testSimple() { assertEquals(9, Largest.largest(new int[] {7,8,9})); } } public void testOrder() { assertEquals(9, Largest.largest(new int[] {9,8,7})); assertEquals(9, Largest.largest(new int[] {7,9,8})); assertEquals(9, Largest.largest(new int[] {7,8,9})); }

Слайд 20


Вывод для Largest There was 1 failure: 1) testOrder(TestLargest)junit.framework.AssertionFailedError: expected: but was: at...
Описание слайда:
Вывод для Largest There was 1 failure: 1) testOrder(TestLargest)junit.framework.AssertionFailedError: expected: but was: at TestLargest.testOrder(TestLargest.java:10)) Причина: for (index = 0; index < list.length-1; index++) {

Слайд 21


Тесты разных списков Largest public void testDups() { assertEquals(9, Largest.largest(new int[] {9,7,9,8})); } public void testOne() {...
Описание слайда:
Тесты разных списков Largest public void testDups() { assertEquals(9, Largest.largest(new int[] {9,7,9,8})); } public void testOne() { assertEquals(1, Largest.largest(new int[] {1})); } public void testNegative() { int [] negList = new int[] {-9, -8, -7}; assertEquals(-7, Largest.largest(negList)); }

Слайд 22


Вывод для Largest There was 1 failure: 1) testNegative(TestLargest)junit.framework.AssertionFailedError: expected: but was: at...
Описание слайда:
Вывод для Largest There was 1 failure: 1) testNegative(TestLargest)junit.framework.AssertionFailedError: expected: but was: at TestLargest.testNegative(TestLargest.java:16) Причина: int index, max=0;

Слайд 23


Набор тестов Largest import junit.framework.*; public class TestLargest extends TestCase { public TestLargest(String name) { super(name); } protected...
Описание слайда:
Набор тестов Largest import junit.framework.*; public class TestLargest extends TestCase { public TestLargest(String name) { super(name); } protected void setUp() { } protected void tearDown() { } public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new TestLargest ("testSimple")); suite.addTest(new TestLargest ("testOrder")); suite.addTest(new TestLargest ("testDups")); suite.addTest(new TestLargest ("testOne")); suite.addTest(new TestLargest ("testNegative")); } }

Слайд 24


Содержание тестов Каждый тест содержит совокупность методов assert(), определенных в классе Assert Методы assert() полиморфны и определяют атомы...
Описание слайда:
Содержание тестов Каждый тест содержит совокупность методов assert(), определенных в классе Assert Методы assert() полиморфны и определяют атомы тестирования

Слайд 25


Пример BinString Пример вычисляет сумму кодов символов в строке и возвращает ее двоичное представление в виде строки Например, “” = 0 = “0” “d” = 100...
Описание слайда:
Пример BinString Пример вычисляет сумму кодов символов в строке и возвращает ее двоичное представление в виде строки Например, “” = 0 = “0” “d” = 100 = “1100100” “Add” = 265 = “100001001”

Слайд 26


Исходный текст программы public class BinString { public BinString() {} public String convert(String s) { return binarise(sum(s)); } public int...
Описание слайда:
Исходный текст программы public class BinString { public BinString() {} public String convert(String s) { return binarise(sum(s)); } public int sum(String s) { if(s=="") return 0; if(s.length()==1) return ((int)(s.charAt(0))); return ((int)(s.charAt(0)))+sum(s.substring(1)); } public String binarise(int x) { if(x==0) return ""; if(x%2==1) return "1"+binarise(x/2); return "0"+binarise(x/2); }}

Слайд 27


Таблица соответствия функций
Описание слайда:
Таблица соответствия функций

Слайд 28


Тесты для примера BinString import junit.framework.*; public class BinStringTest extends TestCase { private BinString binString; public...
Описание слайда:
Тесты для примера BinString import junit.framework.*; public class BinStringTest extends TestCase { private BinString binString; public BinStringTest(String name) { super(name); } protected void setUp() { binString = new BinString(); } public void testSum () { int expected = 0; assertEquals(expected, binString.sum("")); expected = 100; assertEquals(expected, binString.sum("d")); expected = 265; assertEquals(expected, binString.sum("Add")); }

Слайд 29


Тесты для примера BinString (2) public void testBinarise () { String expected = "101"; assertEquals(expected, binString.binarise(5));...
Описание слайда:
Тесты для примера BinString (2) public void testBinarise () { String expected = "101"; assertEquals(expected, binString.binarise(5)); expected = "11111100"; assertEquals(expected, binString.binarise(252)); } public void testConvert() { String expected = "1000001"; assertEquals(expected, binString.convert("A")); } }



Похожие презентации
Mypresentation.ru
Загрузить презентацию