Программа + Документ + Данные = Программное обеспечение
программное обеспечение в узком смысле: Обнаружение дефектов программного обеспечения. обеспечение Процесс выполнения программы или системы.
Генерализованное тестирование программного Определение: Процесс эксплуатации или тестирования системы вручную или автоматически с целью проверки ее соответствия заданным требованиям или для выяснения ожидаемых результатов. Разница между результатами и фактическими результатами
зачем делатьтестирование программного обеспечения
Обнаружение дефектов программного обеспечения
Неправильная функция
недостающие функции
Превышать спрос (лишнее)
Производительность не соответствует требованиям
Качество программного обеспечения: соответствует ли оно привычкам и потребностям пользователей
Тестовые задания
выяснить
позиция
Исправлять
Исправлять, чтобы вернуться после,Повторите тест на уже снятых частях.,Избегайте появления новых ошибок
Определение и компоненты тестового примера
Вариант использования — это набор входных данных, условий выполнения и ожидаемых результатов, предназначенных для определенной цели. Тест — наименьшая сущность, которую выполняет вариант использования. Проще говоря,вариант использования теста для разработки сценария на да,Создайте программу в этом сценарии,Он должен иметь возможность нормально работать и достигать результатов выполнения, предусмотренных программой.
Доказано, что он работает правильно и мыслит позитивно.
Отправной точкой современных методов обычно является «поиск ошибок», поскольку невозможно доказать корректность программного обеспечения.
Требования (чего хочет пользователь)
Требования (цель пользователя)
Потребность (внутреннее желание пользователя)
зубная паста
Чистые зубы
Личная харизма (личный внешний вид опрятный и опрятный)
Когда прекратить тестирование
Продолжить тестирование без возникновения новых сбоев
Продолжить Тест новых дефектов не обнаружено
небольшая отдача
для достижения необходимого покрытия
Новые варианты использования тест-теста не могут быть рассмотрены (если соблюдаются правила и рекомендации).,ты можешь выбрать)
модель процесса тестирования
Дефекты имеют свойство усиливаться, и стоимость поиска ошибок будет увеличиваться в геометрической прогрессии по мере прохождения этапа. Поэтому тестированием называется не тестирование на уровне кода, а чем раньше тестирование начинается на каждом этапе процесса разработки, тем лучше. лучше.
модель водопада:анализ потребностей->дизайн(обзор、подробный)->программирование->тест(единица、интегрированный、система)->поддерживать
Модель V (модифицированная водопадом): жизненный цикл разработки программного обеспечения,Работы по разработке и тестированию начались практически одновременно.,нравитьсяобзордизайн После сцены Интеграционное Тестовый вариант использования «Молодость» появляется после завершения этапа детального проектирования Модульное Также будет доступен тестовый вариант использования для молодежи.
Модель W (модель V более подробная、добавляется к каждому шагу и добавляется при создании программного обеспечения): Анализ требований добавляется вместе с тестом тестом требований、Эскизный дизайн добавляет функциональность тесту、Добавлен детальный проект дизайнтест、Добавлено кодирование、интегрированныйдобавлять Интеграционное тестирование, добавлено подтверждение тест, добавлено подтверждение Тестирование системы
Модель H: практического значения не имеет.,Это только означает, что вы можете быть независимыми
тестирование программного обеспеченияпринципы
Все тесты должны учитывать потребности пользователя.
Проводить тестирование программного обеспечения как можно раньше и постоянно (дефекты имеют свойство усиливаться, затраты на тестирование увеличиваются по мере прохождения этапа)
принцип 8-2
80% ошибок, обнаруженных в тесте, скорее всего, возникают в 20% программы.
80% можно узнать заранее, Тестирование системы выявляют 80% оставшихся ошибок (всего 16%), последние 4% могут быть только общепользовательскими. Обнаружилось только после использования
80% проекта используется для 20% требований (т.е. ключевых требований)
…
Паразитирующий характер дефектов программного обеспечения: чем больше дефектов обнаружено, тем больше дефектов остается в программном обеспечении.
Начать тестировать на самом деле немного проще, но это требует не менее высоких навыков.
в большинстве случаев тест не может охватить все входные данные
Не «тестируйте больше, если у вас есть время, тестируйте меньше, если у вас нет времени».
Программное обеспечение программного обеспечения — это не только дело тестировщиков, но и дело разработчиков.
Отладка — это не то же самое, что тестирование
Тестирование – это определенно не просто запуск программного обеспечения для проверки правильности результата.
L10N: Тестирование локализации
I18N: Международное тестирование
тестирование черного ящика
Разделение классов эквивалентности и анализ граничных значений
Как разделить действительные и недействительные классы эквивалентности (некоторые общие принципы)
Если переменная находится в определенном диапазоне, присвойте ей один допустимый класс эквивалентности и два недопустимых класса эквивалентности.
Если значение переменной находится в пределах определенного заданного диапазона, допустимый класс эквивалентности может быть взят внутри набора, а недопустимый класс эквивалентности может быть взят за пределы набора.
Если условие переменной — «то, что должно быть» или «то, что должно быть», то найдите значение, которое удовлетворяет условию «должно быть», а затем возьмите несколько неудовлетворительных значений, чтобы нарушить условие с разных сторон.
Если переменная имеет логический тип, возьмите одну истину и одну ложь.
Как найти тестовые данные после обнаружения действительных и недействительных классов эквивалентности
Эффективные классы эквивалентности: охватить как можно больше эффективных классов эквивалентности.
Недопустимые классы эквивалентности: каждый найденный набор данных должен охватывать хотя бы один набор недопустимых классов эквивалентности.
Если в функциональном модуле имеется несколько входных данных, как найти действительные классы эквивалентности, недопустимые классы эквивалентности и тестовые данные при объединении нескольких независимых переменных? Четыре метода:
В качестве примера возьмем функцию F с независимыми переменными X1 и X2. Диапазон значений X1 — [a, b), [b, c), [c, d] — [e, f); [ж, г]. Только отмеченные поля рассматриваются как тесты общего класса эквивалентности (тесты, которые не обрабатывают недопустимые данные), а все блоки считаются надежными тестами класса эквивалентности (тесты, которые обрабатывают неверные данные).
Язык кода:javascript
копировать
g |_______|_______|_______|_______|_______|
f |_______|///|///|///|_______|
e |_______|///|///|///|_______|
|_______|_______|_______|_______|_______|
a b c d
слабый класс общей эквивалентности
Предполагается, что это одиночный дефект, то есть предполагается, что дефекты в системе редко вызваны дефектами двух и более входных переменных.
Выбранный тестовый вариант использования охватывает все допустимые классы эквивалентности.
Для X1 (горизонтальная ось): [a, b)、[b, c)、[c, d] необходимо покрыть для X2 (вертикальная ось): [e, f)、[f, г] необходимо прикрыть. Как только эти две точки будут обеспечены, вы можете выбрать любую точку по вашему желанию.
Язык кода:javascript
копировать
g |_______|_______|_______|_______|_______|
f |_______|_______|____x__|_______|_______|
e |_______|___x___|_______|___x___|_______|
|_______|_______|_______|_______|_______|
a b c d
сильный класс общей эквивалентности
На основе гипотезы множественных дефектов
Выбранный тестовый вариант использования охватывает все допустимые классы эквивалентности.из Декартово произведение(собиратьA{a1,a2,a3} Набор B{b1,b2} их Декартово произведение да A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} )
Для X1 (горизонтальная ось): [a, b)、[b, c)、[c, г]; Х2 (вертикальная ось): [е, f)、[f, g],Результат Декартово произведения — все сетки в да,Поэтому точки необходимо брать со всех сеток
Язык кода:javascript
копировать
g |_______|_______|_______|_______|_______|
f |_______|___x___|___x___|___x___|_______|
e |_______|___x___|___x___|___x___|_______|
|_______|_______|_______|_______|_______|
a b c d
слабо устойчивый класс эквивалентности
Предполагается, что это одиночный дефект, то есть предполагается, что дефекты в системе редко вызваны дефектами двух и более входных переменных.
учитывать Недопустимое Значение: для верного тестового ввода дизайн варианта использования эквивалентен слабому класс общей эквивалентности. Для недопустимых входных данных вариант использования должен гарантировать наличие Недопустимого теста; значение(比нравиться某один变量изэффективныйдобрыйиз Диапазон значенийx、y、z,Тогда недопустимыми классами являются x- и z+.,Общий диапазон значений: x-, x, y, z, z+),и сохранить остальные значения действительными.
Поэтому, как показано на рисунке ниже, после обеспечения точек класса слабой общей эквивалентности необходимо также убедиться, что один из X1 и X2 принадлежит двум дополнительным диапазонам значений недопустимого входа, а другой принадлежит к исходный диапазон значений допустимого ввода (например, X1 недействителен, X2 действителен или X1 действителен, X2 недействителен, и охватываются все недопустимые диапазоны)
Язык кода:javascript
копировать
g |_______|_______|_______|___O___|_______|
f |_______|_______|___x___|_______|___O___|
e |___O___|___x___|_______|___x___|_______|
|_______|___O___|_______|_______|_______|
a b c d
Класс сильной эквивалентности
На основе гипотезы множественных дефектов
Все диапазоны значений указаны Декартово. произведение (Например, допустимый диапазон значений класса определенной переменной — x, y, z, тогда недопустимый класс — x- и z+, общий диапазон значений: x-, x, y, z, z+, а затем в сочетании с другим. Диапазон значений переменной — Декартово. произведение)
Язык кода:javascript
копировать
g |___O___|___O___|___O___|___O___|___O___|
f |___O___|___x___|___x___|___x___|___O___|
e |___O___|___x___|___x___|___x___|___O___|
|___O___|___O___|___O___|___O___|___O___|
a b c d
Для одиночного бракованного,То есть только одна входная переменная да находится в недопустимом классе эквивалентности.,Все остальные входные переменные относятся к допустимому классу эквивалентности.。Включать:
Одиночный дефект Допустимые значения
одиночный дефект Недопустимое значение
В случае множественных дефектов это вызвано ошибками в нескольких входных переменных одновременно. Включить:
Допустимые значения
Недопустимое значение
С разделением классов эквивалентности тесно связан анализ граничных значений. Сначала разделите классы эквивалентности, а затем объедините граничные значения для генерации тестовых примеров. В анализе граничных значений также существует допущение: одиночный дефект. Содержит 4 метода разработки тестовых случаев:
Общий анализ граничных значений
Допустимый диапазон: минимальное, немного больше минимального, нормальное значение, немного меньше максимального, максимальное значение.
Неверный диапазон: меньше минимума, больше максимума.
всего 7,Разделить дефекты на одиночные и множественные.,Таким образом, количество разработанных вариантов использования будет расти в геометрической прогрессии.
–
Одномерная гипотеза
многомерная гипотеза
Допустимые значения
**Общее граничное значение** 5n-(n-1) [n-1 переменные принимают нормальное значение] = 4n+1 [учитывайте только граничное значение одной переменной в эффективном интервале (общее граничное значение): используйте минимальное значение, немного выше минимального значения, нормальное значение, немного ниже максимального значения и максимального значения. 】
**Общее граничное значение для наихудшего случая**5^n [Учитывайте только одновременное влияние нескольких граничных значений переменных в эффективном интервале (общее граничное значение для наихудшего случая): используйте минимальное значение каждой переменной, немного превышающее минимальное значение, нормальное значение, слегка декартово произведение значений ниже максимального и максимального. 】
Недопустимое значение
**Граничное значение устойчивости**7n-(n-1)=6n+1【Учитывайте как допустимый интервал, так и недопустимый интервал, граничное значение одной переменной (граничное значение устойчивости): за исключением минимального значения, немного превышающего минимальное значение, нормальное значение, немного ниже максимального значения, максимальное значение, немного выше максимального значения и немного ниже минимального значения. 】
**Надежное граничное значение для наихудшего случая**7^n [Учитывайте одновременное влияние нескольких граничных значений переменных в допустимом и недопустимом интервале (надежное граничное значение для наихудшего случая): используйте минимальное значение каждой переменной, слегка выше минимального значения, нормальное Декартово произведение значений, чуть ниже максимального значения, максимального значения, чуть выше максимального значения и чуть ниже минимального значения. 】
Общие граничные значения
16-битное целое число 32767~-32768
Первая и последняя строки отчета
Экранный курсор вверху слева и внизу справа
Первый и последний из массива
0-й, 1-й, предпоследний и предпоследний моменты цикла.
таблица решений
Подходит для задач с несколькими условиями, несколькими комбинациями условий для выполнения различных операций (их много if, else if, else) и не может выражать структуры циклов.
Самый строгий и логичный
Язык кода:javascript
копировать
Таблица решений
| Состояние кучи | условный пункт | ... | пункт действия |
| куча действий | пункт действия | ... | пункт действия |
Правило: любая комбинация условий, столбец в таблице решений (через элементы условий и элементы действий). Количество столбцов в таблице решений соответствует количеству правил.
Упрощение правил: некоторые правила включают друг друга и могут быть упрощены.
диаграмма причин и следствий
выяснить все причины,выяснитьрезультат,Также могут быть получены промежуточные результаты,Рисование диаграммы причин и следствийчас Уведомление。
Рассмотрим по входным данным
I: Соедините пунктирную линию. Если она подключена к ab, это означает, что хотя бы одно из ab должно быть истинным.
E: Подключите пунктирную линию к ab, что означает, что ab не может быть установлен одновременно.
Р: Если он находится на пунктирной треугольной стрелке, указывающей от a к b, это означает, что когда появляется a, должно появиться и b. Невозможно, чтобы одно появилось, а другое не появилось.
Подумайте о выходе
М: Если он находится на пунктирной треугольной стрелке, указывающей от a к b, это означает, что, когда a равно 1, b должно быть 0, а когда a равно 0, значение b неопределенно.
Подключение: постоянное
~: Нет
∨: или
∧: и
ци: причина
эй: результат
рисоватьдиаграмма причин и После следствий получите таблицу по картинке. решенийтем самым получив соответствующееизтестданные:Причина узла+Промежуточный узел – это Состояние кучи,результат Узелкуча действий
тестирование белого ящика
логическое покрытие
Язык кода:javascript
копировать
покрытие заявлений->Охват решений->суждение/покрытие условий->Комбинированное покрытие условий->покрытие пути
\_условное покрытие/
Покрытие операторов: выполнять каждый оператор один раз.
Охват решений: каждая ветвь решения выполняется хотя бы один раз.
Покрытие условий: каждое условие оценки должно принимать различные возможные значения.
Покрытие решения/условия: удовлетворить как решение, так и условие.
Охват комбинации условий: каждая комбинация каждого условия оценки появляется один раз.
Покрытие пути: выполните каждый возможный путь хотя бы один раз.
связь:
Покрытие комбинации условий > Покрытие решений > Покрытие операторов (то есть, если достигается покрытие комбинации условий, достигается покрытие суждений и покрытие операторов: если достигается покрытие суждений, достигается покрытие операторов, следующее понимание аналогично пониманию).
На основе метода тестирования, создаваемого цикломатической сложностью программы, нарисуйте блок-схему управления, рассчитайте цикломатическую сложность, найдите независимые пути и сжимайте их в базовый набор путей, а также спроектируйте варианты использования на основе каждого пути в наборе. Разбить сложное логическое выражение на отдельные выражения.
Цикломатическая сложность используется для расчета количества основных независимых путей программы (каждый новый независимый путь должен содержать новое направленное ребро, а количество путей от входа до выхода отличается друг от друга)
Цикломатический комплекс V(G) = e – n + 2p [ребро-узел + 2*количество соединительных областей, соединительная область p обычно равна 1] = P+1 [количество узлов решения + 1]
Вообще говоря,одининдивидуальныйединицамодульизмаксимальная сложностьV(G)<10
Если количество пройденных путей сжато до определенного предела,Например, тело цикла в программе выполняется только 0 и 1 раз.,становиться Базовый тест пути,Путем экспорта коллекции базовых путей,Таким образом, разрабатывая тестовые варианты использования,Убедитесь, что эти пути пройдены хотя бы один раз.
Узел определения DEF: операторы ввода, операторы присваивания, операторы цикла и операторы вызовов процедур, при которых изменяется значение переменной;
Использование узла USE: операторы отсчета, операторы присваивания, условные операторы, операторы управления циклом, вызовы процедур.
Вам нужно найти, где весь этот функциональный код начинает определяться, с чего начинать выполнение, и найти путь. Каков путь использования определения (определенная переменная используется от определения начального узла до конечного узла) и путь очистки определения (определенная переменная не определяется дважды в процессе от узла определения до узла использования)
проверка контура
Суть в том, что программа структурирована.
Простойпроверка контура
0 проходит через цикл
1 проход петли
2 прохода через цикл
mпройти цикл(m<=Максимальное количество петель)
m-1,m,m+1 проход петли
процесс тестирования
Модульное тестирование
Содержание Модульного обучения: 5 баллов (краткий ответ на вопросы)
тест интерфейса модуля
тест локальных структур данных
Независимый паттест
Обработка ошибоктест
пограничный тест
Модульное тестированиеизмодуль
Тестируемый модуль: модуль тестируемой программы.
Модуль драйвера: используется для моделирования модуля верхнего уровня тестового модуля, эквивалентного основной программе тестируемого модуля.
Модуль-заглушка: используется для имитации модуля, вызываемого во время рабочего процесса тестируемого модуля.
Модульное Инструменты для тестирования: Концепции, связанные с Junit: путем вставки утверждений (аналогично тесту тестирования). черного ящика)
Для тестируемого кода или тестаиз Функция Нажмите, чтобы сначала создатьтестдобрый,Затем создайте каждый тестовый метод в классе. Вызов тестируемого метода путем создания экземпляра объекта,Используйте утверждения для сравнения фактического и ожидаемого значений.
Модульное тестированиеизметод
В основном основано на методе исследования белого ящика (покрытие).,Сначала статически проверьте, соответствует ли код спецификации.,Затем запустите код динамически,Проверьте результаты. Помимо необходимости проверять правильность результата,Также необходимо проверить отказоустойчивость программы, обработку граничных значений и другие вопросы.
Интеграционное тестирование
один次性изинтегрированныйbig-bang:Прошел все Модульное Все модули обучения собираются одновременно в соответствии с требованиями дизайна, а затем проводится весь тест. Времени становится все меньше, но мы спешим.
Интегрируйте постепенно
Сверху вниз: начните с основного программного модуля и соберите его в соответствии со стратегией «в глубину» или «в ширину».
Снизу вверх: начать с самого нижнего модуля для сборки и Интеграционное тестирование.
Гамбургер: объедините их, нарисуйте линии на каждом уровне древовидной диаграммы, используйте направление сверху вниз для верхнего слоя и снизу вверх для нижнего слоя.
Смежная интеграция: интеграция на верхнем и нижнем уровнях.
Попарное интегрирование: сначала пара, затем соседние
на основеMMпутьизинтегрированный:MMпуть Нетда Можетосуществлятьпуть,Описывает передачу управления между подразделениями.
Наконец получите граф вызовов,Затем вы дойдете до Базового тестового пути.,Найти сложность,найти путь,Получите стандарт тестового варианта использования
Какой контент для Тестирования системы(9индивидуальный):Простота использования、интернационализация локализация、производительность、Функция、интерфейс、совместимость、безопасность、документ、Установить
WebТестирование системы
Специально для таких, как Веб Тестирование Каковы функции системы тест Включать и какое содержимое файлов cookie принадлежит веб-тестированию? системывиз哪один项изтест(принадлежать Функциятест)
Функциятест
Тест содержания страницы
Ссылка на страницутест
формтест
Cookiesтест、Sessionтест
Язык дизайнатест
Тест базы данных
производительностьтест(нагрузка/давление)
Тест скорости соединения
Инструменты LoadRunner
нагрузочный тест
тест давления
Плагины Firefox для веб-производительности: Yslow, Findbug, PageSpeed
В основном здесь говорится о значении тестирования производительности и о том, как его проводить, например, как проводить стресс-тестирование, как проводить нагрузочное тестирование и т. д.
производительностьтестдапосредством автоматизациииз Инструменты Имитировать различные обычные、Пики и аномалиинагрузкасостояние Приходитьверносистемаизразличные предметыпроизводительностьиндикатор прогрессатест。
Время производительности: время отклика конкретной транзакции программного обеспечения.
Производительность пространства: системные ресурсы, потребляемые при работе программного обеспечения.
Я прошу вас принести 1 мешок риса (легко)
Я прошу вас нести мешок риса, но я также прошу вас пробежать круги по детской площадке и посмотреть, сколько времени потребуется, чтобы рухнуть от усталости (тяжелая работа)
Прошу вас носить с собой 3 мешка риса и бегать по детской площадке. Сколько времени вам понадобится, чтобы потерять сознание от истощения (лимит)?
Я просил вас нести 1 сумку, 2 сумки, 3 сумки, 4 сумки... Я обнаружил, что вы можете нести максимум 3 сумки.
нагрузочный тест Пусть человек проверитсясистемапока это можно терпетьиздавлениеиз Непрерывная работа в пределах предельного диапазона,Приходитьтестсистемаиз Может靠性。
Может ли система справиться с количеством пользователей, обращающихся к веб-системе/определенной странице в определенное время?
Что произойдет, если это число будет превышено?
Объем онлайн-обработки данных
нагрузка/тест давлениясосредоточиться на Что?
Проверьте, может ли система реагировать на большое количество пользователей одновременно, может ли она реагировать, когда пользователи передают большие объемы данных, и может ли система работать в течение длительного времени.
Пик мгновенного доступа
Передача больших объемов данных на одного пользователя
длительное использование
LoadRunnerпроизводительность Инструментыпринцип:Записывать+Моделирование воспроизведенияпользователь Фактический сценарий эксплуатации,Отслеживайте и анализируйте результаты запуска.
Автоматизированное тестирование
Запись+воспроизведение+скриптинг — основной метод.
Обычно используетсяиз Автоматизированное тестированиеизинструмент,какие виды,Какие инструменты есть у каждого?
Функция Инструменты:QTP
производительность Инструменты:LoadRunner
Напишите сценарий или запишите сценарий
Используйте пользовательские параметры
Дизайн сцены
Механизм создания виртуальных пользователей: используйте контроллер для управления количеством моделируемых пользователей.
Используйте прослушиватель,Посмотреть результаты теста
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/128476.html Исходная ссылка: https://javaforall.cn