Тестирование и отладка ПО
Рогозин Николай Олегович
[email protected]
понедельник, аудитория 533, 19-00
Экзамен (по результатам 5 лаб + отчëтов)
Регаемся тут и кидаем логин на почту преподавателю, с просьбой добавить на курс, после чего будут расшарены данные
Литература
-
Святослав Куликов "Тестирование ПО. Базовый курс" Основное пособие курса (Версия книги 3.0.1 от 14.09.2020)
-
Кент Бек “Экстремальное программирование. Разработка через тестирование”
-
В.В. Липаев “Тестирование компонентов и комплексов программ”
-
Вигерс Карл, Битти Джой, Разработка требований к программному обеспечению, третье издание 2014
-
Алгоритмы. Руководство по разработке. 2-е издание, 2011. Стивен Скиена
План по лабам:
ЛР №1:
- Модульное тестирование
- Ручное тестирование
- Метод чёрного ящика
- Покрытие максимально возможного числа веток кода
- Таблица классов эквивалентности
[последние два пункта для всех ЛР]
ЛР №2:
- Интеграционное тестирование
ЛР №3:
- Функциональное системное тестирование
- Спецификация ПС (программное средство)
ЛР №4:
- Регрессионное тестирование
- Control Flow Graph (Граф контроля управления)
ЛР №5:
- Автоматизированное тестирование (использование фреймворков) Рекомендуемая литература: Адам Фримен, Стивен Сандерсон "ASP.NET MVC 4 Framework с примерами на C# для профессионалов". 4-е издание
По каждой лабе отчёт
Лекция 1. Введение (08.09.2020)
Лекция 2. Введение. Классификация видов тестирования. (14.09.2020)
Лекция 3. Требования к ПО. Тестирование документации и требований. (21.09.2020)
Лекция 4. Техники тестирования. (28.09.2020) | audio
Лекция 5. Модульное тестирование. (05.10.2020) | audio | photo
Лекция 6-7. Интеграционное тестирование. (12 и 19.10.2020) | audio | photo
Лекция 8. Системное и регресионное тестирование. (09.11.2020)
фикстуры для тестирования базёнки
Сервис для отрисовки CFG (Control Flow Graph). Код для отрисовки к 3-й лабе до изменений:
def generate_zebra();
if(user_img) {
// изображение загруженное пользователем
Image.open(user_img);
} else {
// изображение по ссылке
Image.open(BytesIO(response.content));
}
// комплекс методов
zebra generation;
и после:
def generate_zebra();
if(user_img) {
// файл загруженный пользователем
if(img) {
Image.open(user_img);
} else {
// конвертируем
convert_from_bytes(user_img.read())
}
} else {
// изображение по ссылке
Image.open(BytesIO(response.content));
}
// комплекс методов
zebra generation;
last_version:
def generate_zebra();
if(user_img) {
// файл загруженный пользователем
if(img) {
Image.open(user_img);
} else {
// конвертируем
convert_from_bytes(user_img.read())
}
} else {
// изображение по ссылке
Image.open(BytesIO(response.content));
}
// cсылка на скачивание лошади
call horse_download_link;
// комплекс методов
zebra generation;
// cсылка на скачивание тензора
call tensor_download_link;
// отображение зебры
st.image(zebra);
// cсылка на скачивание зебры
call zebra_download_link;
27.11 - дополнительное занятие (теория - повтор 23.11) в 19.00 После теории будет проводиться защита л.р. При защите сдается общий отчет, с демонстрацией работы тестов и ответами на вопросы, и выставляется оценка. Крайний срок защиты - 7.12
В случае, если тестируется простое консольное приложение, для выполнения 5 лабораторной работы можно и достаточно использовать руководство https://docs.microsoft.com/en-us/visualstudio/test/writing-unit-tests-for-c-cpp?view=vs-2019 и написать набор автоматизированных модульных тестов (подпадающих под требования к модульному тестированию) с использованием CPPUnitTest от Microsoft