User Tools

Site Tools


courses:testing:lectures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:testing:lectures [2022/05/12 18:26]
kalishenko
courses:testing:lectures [2023/03/26 18:06]
kalishenko
Line 11: Line 11:
     * По уровню     * По уровню
     * По интерфейсу     * По интерфейсу
-  - Особенности тестирования протоколов 
-    * RPC: WSDL/SOAP + REST/JSON 
-    * Messaging 
   - Политика версионирования при тестировании:​   - Политика версионирования при тестировании:​
     * Альфа-версии     * Альфа-версии
     * Бета-версии     * Бета-версии
 +
 +===== Выбор вида тестирования =====
 +  - Пирамида тестирования:​
 +    * Приоритеты различных видов тестирования
 +    * Соотношение видов тестов
 +  - Принципы семантического версионирования
 +    * Стандарт версионирования
 +    * Пример на разделяемом протоколе взаимодействия
 +    * Пример на библиотечных решениях ​
  
 ===== Тестирование API. WSDL ===== ===== Тестирование API. WSDL =====
 ==== Теория ==== ==== Теория ====
 +  - Особенности тестирования протоколов
 +    * RPC: WSDL/SOAP + REST/JSON
 +    * Messaging
   - XSD-схемы - основы и примеры описания типов   - XSD-схемы - основы и примеры описания типов
   - WSDL-сервис - основы и пример описания методов   - WSDL-сервис - основы и пример описания методов
Line 31: Line 40:
     * Создание TestSuit     * Создание TestSuit
     * Проверки на основе XPath     * Проверки на основе XPath
-    * Валидация WSDL/​XSD ​ 
  
-===== Выбор вида тестирования ===== +===== Планирование ​тестирования. Test case / Bugs ===== 
-  - Пирамида тестирования+  - Структура и назначение Test-plan
-    * Приоритеты различных видов тестирования +    * Кто 
-    * Соотношение видов тестов +    * Что 
-  - Принципы семантического версионирования +    * Как 
-    * Стандарт версионирования +    * Когда 
-    * Пример на разделяемом протоколе взаимодействия +    * Критерии   
-    * Пример ​на библиотечных решениях +  - Структура ​и назначение Test-case:​ 
 +    * Предусловия 
 +    * Шаги 
 +    * Фокусирование на функциональности 
 +  - Заведение ошибок
 +    * Workflow 
 +    * Основные поля и принципы их заполнения
  
 ===== Тестирование API. REST ===== ===== Тестирование API. REST =====
Line 109: Line 123:
     * Вынесение общих параметров     * Вынесение общих параметров
     * Просмотр результатов в графическом и табличном видах     * Просмотр результатов в графическом и табличном видах
- 
-===== Планирование тестирования ===== 
-  - Структура и назначение Test-plan: 
-    * Кто 
-    * Что 
-    * Как 
-    * Когда 
-    * Критерии  ​ 
-  - Структура и назначение Test-case: 
-    * Предусловия 
-    * Шаги ​ 
  
 ===== Тестирование интерфейса пользователя (Desktop) ===== ===== Тестирование интерфейса пользователя (Desktop) =====
Line 157: Line 160:
     * Поля     * Поля
     * Поиск дубликатов по стекам ​     * Поиск дубликатов по стекам ​
- 
------------ 
- 
  
 ===== Fuzzing-тестирование ===== ===== Fuzzing-тестирование =====
 ==== Теория ==== ==== Теория ====
-  - [[https://habr.com/​ru/​company/​dsec/​blog/​517596/​|Введение в fuzzing]]+  - Виды верификации: 
 +    * Статическая 
 +    * Динамическая (..., fuzzing, ...)  
 +  - Sanitizers:​ 
 +    * asan 
 +    * ubsan 
 +  - Генерация данных:​ 
 +    * Начальная ​выборка 
 +    * Контроль трасс исполнения 
 +    * Эволюционные алгоритмы 
 +  - Виды мутаций 
 +  - Критерии остановки тестирования
  
 ==== Практика ==== ==== Практика ====
-  - [[https://​github.com/​google/​fuzzing/​blob/​master/​tutorial/​libFuzzerTutorial.md|libfuzzing "Hello world"​]] +  - AFL fuzzer
-  - OSS-Fuzz +    * Сборка clang с ключами asan и ubsan 
-    * [[https://​google.github.io/​oss-fuzz/​|OSS-Fuzz документация]] +    * Создание тестовых данных для затравки 
-    * [[https://​github.com/​google/​oss-fuzz/​tree/​master/​projects|Список проектов под OSS-Fuzz]] +    * Пример на дереве условных ​операторов 
-  - [[https://​github.com/​microsoft/​restler-fuzzer|RESTler документация и репозиторий]]  +    * Запуск afl-fuzz и разъяснение полей, выводимых в runtime 
-  - [[https://​github.com/​schemathesis/​schemathesis|Schemathesis документация и репозиторий]]+    * Разбор результата поска падения приложения 
 + 
 +===== Ещё о test design ===== 
 +<WRAP center round tip 60%> 
 +Дозаполнить 
 +</​WRAP>​ 
  
courses/testing/lectures.txt · Last modified: 2023/06/09 20:11 by kalishenko