Software Testing Тестирование программного обеспечения Carnegie Melon University 18-849b Dependable Embedded Systems Spring 1999 Authors: Jiantao Pan.

Презентация:



Advertisements
Похожие презентации
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Advertisements

Michael Jackson
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
Жизненный цикл программного обеспечения Лекция 4.
Типовые расчёты Растворы
SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Школьная форма Презентация для родительского собрания.
Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Тестирование Обеспечение качества. Тема 7 тестирование2 Аттестация и верификация Обзоры Инспекционные проверки Сквозной контроль.
Тестирование программных продуктов «Разработка тестов (test case design)» СПб 2009, Oksana Naboka.
Тестирование программного обеспечения 2009, v.2.8 Тест-дизайн.
Виды и методы тестирования на разных стадиях разработки ПО.
Расширение технологии UniTESK средствами генерации структурных тестов Дмитрий Воробьев
Организация процесса тестирования ПО Петренко Ольга QA Team Leader.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Методы тестирования 6 августа 2011 года. Пример для тестирования Программа читает три числа с экранной формы. Эти числа соответствуют длинам сторон треугольника.
ОСНОВЫ ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММ. Разработка программ - промышленное производство необходима технология разработки программ. Д. Кнут «Искусство программирования.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Транксрипт:

Software Testing Тестирование программного обеспечения Carnegie Melon University b Dependable Embedded Systems Spring 1999 Authors: Jiantao Pan

Abstract: Краткое изложение: Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its r The difficulty in software testing stems from the complexity of software: we can not completely test a program with moderate complexity. The purpose of testing can be quality assurance, verification and validation, or reliability estimation.

Taxonomy Классификация By purpose correctness testing, performance testing, reliability testing and security testing By life-cycle phase requirements phase testing, design phase testing, program phase testing, evaluating test results, installation phase testing, acceptance testing and maintenance testing By scope unit testing, component testing, integration testing, and system testing

Correctness testing. Тестирование правильности программы Correctness is the minimum requirement of software, the essential purpose of testing. Correctness testing will need some type of oracle, to tell the right behavior from the wrong one. The tester may or may not know the inside details of the software module under test, e.g. control flow, data flow, etc. Therefore, either a white-box point of view or black-box point of view can be taken in testing software.

Black-box testing. Тестирование методом черного ящика The black-box approach is a testing method in which test data are derived from the specified functional requirements without regard to the final program structure. It is also termed data-driven, input/output driven, or requirements- based testing. The tester treats the software under test as a black box -- only the inputs, outputs and specification are visible, and the functionality is determined by observing the outputs to corresponding inputs. In testing, various inputs are exercised and the outputs are compared against specification to validate the correctness.

Black-box testing White-box testing Тестирование методом белого ящика Contrary to black-box testing, software is viewed as a white- box, or glass-box in white-box testing, as the structure and flow of the software under test are visible to the tester. Testing plans are made according to the details of the software implementation, such as programming language, logic, and styles. Test cases are derived from the program structure. White-box testing is also called glass-box testing, logic-driven testing or design-based testing.

Glossary. Глоссарий терминов 1. faultнедостаток, недочёт 2. defect дефект – изъян в компоненте или системе, который может привести компонент или систему к невозможности выполнить требуемую функцию, например неверный оператор или определение данных. 3. failure сбой 4. error ошибка- действие человека, которое приводит к неправильному результату 5. software testing тестирование программного обеспечения - проектирование, отладка и выполнение тестов 6. complete testing полное тестирование 7. debugging отладка – процесс поиска, анализа, и устранения причина отказов в программном обеспечении 8. quality assurance гарантия (обеспечение) качества 9. verification верификация – доказанное объективными результатами исследования подтверждение того, что определённые требования были выполнены 10. validation валидация - доказанное объективными результатами исследования подтверждение того, что программа удовлетворяет потребностям и ожиданиям пользователей 11. reliability надёжность – способность программного продукта функционировать при заданных условиях на протяжении определённого периода времени, или для определённого количества операций 12. metricметрика – шкала измерений и метод, используемый для измерений; мера количественной оценки качества ПО по заданному критерию, система или способ измерений качества программного обеспечения

13. сorrectness testingтестирование правильности (корректности) работы программы 14. reliability testing тестирование надёжности - процесс тестирования, исследующий надёжность программного продукта Ключевые понятия. Таксономия (классификация) life cycle phases фазы жизненного цикла performance testing тестирование производительности – процесс тестирования с целью определить производительность программного продукта security testing тестирование защищенности – тестирование с целью оценить защищенность программного продукта requirements phase testing тестирование на этапе составления требований (= тестирование на основе требований) – подход к тестированию, при котором тестовые сценарии разрабатываются на основе целей и условий тестирования, вытекающих из требований 19. design phase testing тестирование на этапе проектирования (= тестирование на основе архитектуры) – подход к тестированию, в котором тестовые сценарии разрабатываются на основе архитектуры и/или подробного проекта компонента или системы 20. program phase testing тестирование на этапе программирования 21. evaluating test results тестирование на этапе оценки результатов 22. installation phase testing тестирование на установочном этапе (инсталляционное тестирование) 23. acceptance testing приёмочное тестирование – формальное тестирование по отношению к потребностям, требованиям и бизнес процессам пользователя, проводимое с целью определения соответствия системы критериям приёмки 24. maintenance testingтестирование в период сопровождения – тестирование изменений в действующей системе или влияния изменений в окружении на действующую систему

Correctness testing 25. black-box черный ящик - это система, в которой внешнему наблюдателю доступны лишь входные и выходные величины, а структура и внутренние процессы неизвестны 26. white-box белый ящик 27. oracle оракул - любое средство (уже имеющаяся система, программный код, профессиональные знания специалиста, руководство пользователя), используемое для предсказания итога теста 28. control flow управляющая логика программы 29. data flow поток данных - общий термин, относящийся к алгоритмам или архитектурам параллельных вычислений, в которых выполнение каждой операции производится при готовности всех её операндов, при этом последовательность выполнения команд заранее не задаётся Black-box testing 30. tester тестировщик 31. test approach подход к тестированию – реализация стратегии тестированиядля определённого проекта 32. test data тестовые данные – данные, которые существуют, например в базе данных на начало выполнения теста и влияют на работу, или же испытывают влияние со стороны тестируемой системы или компонента 33. specified functional requirements заданные функциональные требования 34. data-driven testing тестирование на основе данных - методика написания автоматизированных тестовых сценариев, при которой входные тестовые данные и ожидаемые результаты хранятся в таблицах таким образом, что отдельный сценарий может выполнить все тесты в таблице 35. input/output driven testingтестирование входных/выходных данных

36. inputвход – переменная (хранимая внутри или вне компонента), считываемая компонентом 37. output выходные данные – переменная (хранимая внутри компонента или вне его), выданная компонентом 38. requirements-based testing тестирование на основе требований = тестирование на этапе составления требований – подход к тестированию, при котором тестовые сценарии разрабатываются на основе целей и условий тестирования, вытекающих из требований 39. functional testing функциональное тестирование – тестирование, основанное на анализе спецификации функциональности компонента или системы 40. domain домен - набор, из которого могут быть выбраны корректные входные или выходные данные 41. input domain область входных значений – набор, из которого могут быть выбраны верные значения 42. output domain область выходных данных - множество, из которого могут быть выбраны допустимые выходные значения 43. test case тестовый сценарий – набор входных значений, предусловий выполнения, ожидаемых результатов и постусловий выполнения, разработанный для определенной цели или тестового условия, таких как выполнение определённого пути программы или же проверки соответствия определённому требованию 44. specificationспецификация – документ, описывающий требования, дизайн, поведение или иные характеристики компонента или системы

coverageпокрытие – уровень, выражаемый в процентах, на который определённый элемент покрытия был проверен набором тестов code coverage покрытие кода – метод анализа, определяющий, какие части программного обеспечения были проверены (покрыты) набором тестов, а какие нет, например, покрытие операторов, покрытие альтернатив или покрытие условий cover the input space покрывать (тестами) входное пространство exhaustively test, exhaustively testing исчерпывающее тестирование – методика тестирования, в которой набор тестов включает в себя все комбинации входных данных и предусловий input space пространство входов = входное пространство – все входные значения output space пространство выходов = выходное пространство – все выходные значения valid inputs валидные входные значения – корректные значения, допустимые, приемлемые, правильные invalid inputs невалидные входные значения – некорректные значения, недействительные входные данные resource variables ресурсные переменные сombinatorial explosion комбинаторный взрыв термин, используемый для описания эффекта резкого («взрывного») роста временной сложности алгоритма при увеличении размера входных данных задачи formal or restricted language формальный или регламентированный язык bug баг (анг. bug - жук)– жаргонное слово, обычно обозначающее ошибку в программе или системе, которая выдает неожиданный или неправильный результат domain testing domain-тестирование – тестирование на наборах данных incorrect domain definitionsнекорректное определение набора данных

equivalent classэквивалентный класс boundary values граничные значения boundary value analysis анализ граничных значений White-box testing white-box or glass-box белый или стеклянный ящик testing plan план тестирования (= test plan) software implementation реализация ПО programming language язык программирования logic-driven testing тестирование, основанное на логике (программы) design-based testing тестирование на основе архитектуры statement coverage покрытие операторов – процентное отношение операторов, исполняемых набором тестов, к их общему количеству branch coverage покрытие ветвей – процент ветвей, которые были выполнены набором тестов multiple condition coverage покрытие множественных условий - процент комбинаций всех исходов одиночных условий в рамках одного оператора, который был проверен набором тестов condition predicates precondition условные утверждения - предикаты; предусловие – условия окружения и состояния, которые должны быть выполнены перед началом выполнения определенного теста или процедуры тестирования

сontrol-flow testingтестирование потока управления (последовательности событий (путей) в процессе выполнения компонента или системы) loop testing циклическое тестирование - Loop testing is bassically a type of White box testing technique that exercises program loops. Loop testing is the testing of a resource or resources multiple times under program control. – тестирование ресурсов или.... под программным контролем data-flow testing тестирование потока данных – разработка тестов методом белого ящика, в котором тестовые сценарии проектируются для проверки пары определение-использование для переменных directed graphнаправленный граф = ориентированный граф = орграф

Трансформации, используемые при переводе: лексические трансформации, синтаксические трансформации Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. стилистическая трансформация Тестирование программного обеспечения - это любая деятельность, направленная на оценку какого-либо свойства или характеристики программы с точки зрения соответствия требуемым результатам The difficulty in software testing stems from the complexity of software: we can not completely test a program with moderate complexity. лексическая трансформация - перестановка Такая проблема тестирования, как невозможность полной проверки работы даже обычной среднестатистической программы среднего уровня, напрямую связана со сложностью программного обеспечения Testing is more than just debugging. лексические трансформации - конкретизация Тестирование представляет собой нечто большее, чем просто поиск и исправление ошибок.

There is a plethora of testing methods and testing techniques, serving multiple purposes in different life cycle phases. грамматические трансформации – дополнения при переводе В настоящее время существует изобилие техник и методов тестирования, используемых с разными целями на всех этапах жизненного цикла информационных систем. The tester may or may not know the inside details of the software module under test, e.g. control flow, data flow, etc. Therefore, either a white-box point of view or black-box point of view can be taken in testing software. лексическая трансформаци - объединение Исходя из знания тестировщиком внутренней структуры тестируемого программного модуля, например, управляющей логики, потока данных (--как происходит обмен данными) и т.д., тестирование может вестись, соответственно, с позиции белого или черного ящика. There are many techniques available in white-box testing, because the problem of intractability is eased by specific knowledge and attention on the structure of the software under test. лексические трансформация - деление На сегодняшний день существует множество способов тестирования белого ящика. Знание специфики и сосредоточенность на структуре тестируемой программы, ослабляет проблему небружелюбности системы, и сказывается на количестве способов тестирования.