SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Тестирование
   требований
     PHD. MARYNA DIDKOVSKA
          TEST MANAGER
VIDEO INTERNET TECHNOLOGIES LTD.
           MD@VIT.UA
Важность
                    2


           Распределение ошибок
               7%
      10%

                           56%

                                  Requirements
27%                               Design
                                  Other
                                  Code
Относительная стоимость исправления
багов
                            3




Phase in Which Found        Cost Ratio
Requirements                1
Design                      3-6
Coding                      10
Unit/Integration Testing    15-40
System/Acceptance Testing   30-70
Production                  40-1000
Требования. Определения
                      4


   Требования – это спецификация того, что
   должно быть реализовано.

   Требования описывают то, что
   необходимо реализовать, без детализации
   технической стороны решения

  Что, а не как
Почему проекты не всегда успешны?
                      5



 Требования и спецификации неполны
 Требования и спецификации слишком часто
  изменяются.
 При составлении требований мнение
  пользователей слабо учитывалось.
Уровни и типы
                6
Характеристики требований
                      7

 Недвусмысленность
 Полнота
 Правильность
 Осуществимость
 Необходимость
 Приоритезированность
 Проверяемость
Характеристики спецификации
                     8


 Полнота
 Последовательность
 Модифицируемость
 Прослеживаемость
Прослеживаемость требований
                                9


User      Functional           Design    Code             Test
Require   Requirement          Element   Module           Case
ment
UC-28     catalog.query.sort   Class     catalog.sort()   search.7
                               catalog                    search.8
UC-29     catalog.query.       Class     catalog.         search.12
          import               catalog   import()         search.13
                                         catalog.         search.14
                                         validate()


          Changes are not so dangerous
          when you can manage them
Влияние требований
                 10
Процесс тестирования требований
                                   11

1.    Validate requirements against objectives
2.    Apply scenarios against requirements
3.    Perform initial ambiguity review
4.    Perform domain expert reviews
5.    Create cause-effect graph
6.    Logical consistency check by RBT Tool
7.    Review of test cases by specification writers
8.    Review of test cases by users
9.    Review of test cases by developers
10.   Walk test cases through design
11.   Walk test cases through code
12.   Execute test cases against code
Валидация требований
                 12




1. Экспертиза спецификации
2. Тестирование требований
3. Определение критериев сдачи
продукта
Review: Участники
                       13

 Автор работы
 Автор(ы) предшествующих документов
 Те, кто впоследствии будут использовать
  данный документ в своей работе
 Те, кто отвечают за уже существующие
  продукты, которые должны будут
  взаимодействовать с проектируемым
Review: Роли
               14

 Author
 Moderator
 Reader
 Recorder
Review: Этапы
                15
Review
                     16

 Entry criteria
 Exit criteria
Ambiguity Review
                        17

 это проверка требований, чтобы убедиться в
 том, что они написаны ясным, четким и
 недвусмысленным образом.

 осуществляется до анализа требований
 экспертом в предметной области.
Ambiguity review check list
                           18

 The dangling Else         Built-in assumptions
 Ambiguity of reference    Ambiguous precedence
 Scope of action               relationships
 Omissions                    Implicit cases
 Ambiguous logical            Etc.
  operators                    I.E. versus E.G.
 Negation                     Temporal ambiguity
 Ambiguous statements         Boundary Ambiguity
 Random organization
Неоднозначные термины
                           19

 acceptable, adequate
 as much as practicable
 at least, at a minimum, not more than, not to exceed
 between
 depends on
 efficient
 fast, rapid
 flexible
Неоднозначные термины
                           20

 improved, better, faster, superior
 including, including but not limited to, and so
    on, etc., such as
   maximize, minimize, optimize
   normally, ideally
   optionally
   reasonable, when necessary, where appropriate
Неоднозначные термины
                           21

 robust
 seamless, transparent, graceful
 several
 shouldn't
 state-of-the-art
 sufficient
 support, enable
 user-friendly, simple, easy
Ambiguity Review : Example
                         22


V.1 The expert system should be able to recognize and
identify potential critical situations.

It is not
Unambiguous, Complete, Correct, Feasible
• What does it mean “potential critical
   situations”?
• How can this be done?
• How can the system recognize and identify
   critical situations?

It’s unverifiable.
Ambiguity Review : Example
                                    23

V.2 The expert system should keep a history of the
 V.2 The                                   history of the
values that itit is reading at specific time intervals.the
 values that is reading at specific time intervals. If If
values has has risen considerably without any obvious
 the values risen considerably without any obvious
reason during the last ten measurements, the expert
 reason during the                             the expert
system will inform it.
 system will inform it.

• What values should be gathered by the system?
• How deep should be the history?
• What does “specific time interval” mean exactly?
• What is “risen considerably”?
• What is “obvious reason”?
• Will? The word “will” identifies an ambiguity called a “Dangling Else”.
  The sentence with “will” in it tells us what is normally expected to
  happen
• It? Whom exactly and in what form?
Ambiguity Review : Example
                           24




V.3 The expert system should keep monthly history of the
pressure and temperature, that are read every 60 seconds.
The values and time of the measurement should to be
stored in DB. If pressure has risen on more then 10 pts
and variation of temperature is less then 3 pts, then the
IPC system should display to the operator message
“Warning: critical rising of pressure” and produce alarm
signal. The warning message should be displayed until an
operator      presses      button      “close”    (Sketch
Warning.CritialPressure)
Problems in requirements
                                  25

 The most of the configuration settings of IPS IPS system
  The most of the configuration settings of system shall
 be easily upgradeable in future versions versions
 shall be easily upgradeable in future

 It is ambiguous: How could we determine that it is
  “easily”
 It’s incomplete:
    What do “upgradeable” mean? How (in what way) should it be done?
     Which exactly settings do “the most of configuration settings”
     include?
     In what number of version this functionality will be necessary?
 It’s unverifiable.
Problems in requirements
                             26

 The IPC system should not allow an operator functions
  The IPC system should not allow an operator functions,
  ,the consequences of which might be disastrous.
    the consequences of which might be disastrous.

 It’s incomplete and unverifiable:
 What does “disastrous” mean?
 “may be” is very fuzzy, “may be” but “may be not”. How
  can be verified the functions the results of which might
  be disastrous?
 What does “should not allow” mean? Someone can
  assume that buttons for some functions will be
  disabled, another - that an operator will not see such
  functions, another one that the IPC system should
  produce alarm message.
Some more bugs
                           27

 Simplify the installation as much as possible by
  including dependencies in our installer where it is
  possible and makes sense.
 Follow standard Linux installations concepts where
  possible.
 Provide a suitable installation package for each
  support operating system.
Тестирование требований: Базовые подходы
                                 28


  1. Context free questions
  2. Writing test cases
  3. Models, Diagrams
        Use-Case Diagram
        Data Flow Diagram
        Entity Relationships Diagram
        State-Transition Diagram
        Activity diagram
        Class diagram
        Decision Tables and Decision Trees
Определите критерии приема
продукта
                       29

 Спросите пользователей, как они будут
  определять, отвечает ли ли продукт их
  потребностям и подходит ли для
  использования.
 Основывайте приемо-сдаточное тестирование
  на сценариях использования
Симптомы проблем с требованиями
                       30

 Перерасход бюджета
 Срыв сроков
 Продукт не удовлетворяет заказчика
 Постоянные переписывания кода
 Демотивация команды
 Упущенная рыночная ниша
 Неприятие продукта рынком
Преимущества качественных
требований
                      31

 Уменьшение затрат на переделки
 Меньше ненужного кода
 Более быстрая разработка
 Уменьшение хаоса в проекте
 Довольные заказчики и команда
32




Спасибо!

Вопросы?
Additional materials
         33
Cause-Effect graph
                                34

 The error message shall appear when the
  measurement on operator demand is not done, and
  there are problems with network or invalid sensor ID
 Cause
     A - when the measurement on operator demand is not done
     B - there are problems with network
     C - or invalid sensor ID


 Effect
   E - The error message shall appear
Cause-Effect graph
        35
IPC Use-Case Example
         36
Check List Example for Review
                 (focused on Correctness)
                              37

 Do any requirements conflict with or duplicate other
    requirements?
   Is each requirement written in clear, concise, and
    unambiguous language?
   Is each requirement verifiable by
    testing, demonstration, review, or analysis?
   Is each requirement in scope for the project?
   Is each requirement free from content and grammatical
    errors?
   Can all the requirements be implemented within known
    constraints?
   Are all specified error messages unique and meaningful?

Weitere ähnliche Inhalte

Was ist angesagt?

Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven DevelopmentJohn Blum
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD introVitaliy Kulikov
 
Test Driven Development Powered by LEGO
Test Driven Development Powered by LEGOTest Driven Development Powered by LEGO
Test Driven Development Powered by LEGOAgile Montréal
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
 
Design for Testability
Design for Testability Design for Testability
Design for Testability Pawel Kalbrun
 
How we tested our code "Google way"
How we tested our code "Google way"How we tested our code "Google way"
How we tested our code "Google way"Oleksiy Rezchykov
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentTung Nguyen Thanh
 
Design For Testability
Design For TestabilityDesign For Testability
Design For TestabilityWill Iverson
 
Just Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test AutomationJust Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test AutomationDaniel Wildt
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentMireia Sangalo
 
Working With Legacy Code
Working With Legacy CodeWorking With Legacy Code
Working With Legacy CodeAndrea Polci
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)nedirtv
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentguestc8093a6
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And RefactoringNaresh Jain
 

Was ist angesagt? (19)

Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD intro
 
Test Driven Development Powered by LEGO
Test Driven Development Powered by LEGOTest Driven Development Powered by LEGO
Test Driven Development Powered by LEGO
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
Unit Testing Your Application
Unit Testing Your ApplicationUnit Testing Your Application
Unit Testing Your Application
 
TDD for DB integration
TDD for DB integrationTDD for DB integration
TDD for DB integration
 
Design for Testability
Design for Testability Design for Testability
Design for Testability
 
How we tested our code "Google way"
How we tested our code "Google way"How we tested our code "Google way"
How we tested our code "Google way"
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
 
Just Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test AutomationJust Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test Automation
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Working With Legacy Code
Working With Legacy CodeWorking With Legacy Code
Working With Legacy Code
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Tdd and-bdd
Tdd and-bddTdd and-bdd
Tdd and-bdd
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And Refactoring
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Working Effectively with Legacy Code
Working Effectively with Legacy CodeWorking Effectively with Legacy Code
Working Effectively with Legacy Code
 

Ähnlich wie Тестирование спецификаций

Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical DeviceOrthogonal
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Mateti Anilraja
 
SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxTangZhiSiang
 
Requirements Based Testing
Requirements Based TestingRequirements Based Testing
Requirements Based TestingSSA KPI
 
Анализ атрибутов качества
Анализ атрибутов качестваАнализ атрибутов качества
Анализ атрибутов качестваSQALab
 
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Lviv Startup Club
 
Fundamentals_of_testing.pdf
Fundamentals_of_testing.pdfFundamentals_of_testing.pdf
Fundamentals_of_testing.pdfAndreeaDavid22
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Jeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems AnalystJeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems AnalystJeremiah Yancy
 
Software testing course_in_mumbai
Software testing course_in_mumbaiSoftware testing course_in_mumbai
Software testing course_in_mumbaivibrantuser
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Software testing course_in_mumbai
Software testing course_in_mumbaiSoftware testing course_in_mumbai
Software testing course_in_mumbaivibrantuser
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsPankaj Dubey
 
Software engineering
Software engineeringSoftware engineering
Software engineeringGuruAbirami2
 
Unit 2 Unit Testing
Unit 2   Unit TestingUnit 2   Unit Testing
Unit 2 Unit Testingravikhimani
 

Ähnlich wie Тестирование спецификаций (20)

Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical Device
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3
 
SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptx
 
Requirements Based Testing
Requirements Based TestingRequirements Based Testing
Requirements Based Testing
 
Анализ атрибутов качества
Анализ атрибутов качестваАнализ атрибутов качества
Анализ атрибутов качества
 
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
Yuriy Gaiduchok: The Quest for Product Non-Functionality (UA)
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Fundamentals_of_testing.pdf
Fundamentals_of_testing.pdfFundamentals_of_testing.pdf
Fundamentals_of_testing.pdf
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Jeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems AnalystJeremiah Yancy | Skills and techniques of the Systems Analyst
Jeremiah Yancy | Skills and techniques of the Systems Analyst
 
Software testing course_in_mumbai
Software testing course_in_mumbaiSoftware testing course_in_mumbai
Software testing course_in_mumbai
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Software testing course_in_mumbai
Software testing course_in_mumbaiSoftware testing course_in_mumbai
Software testing course_in_mumbai
 
Quality
QualityQuality
Quality
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Unit 2 unit testing
Unit 2   unit testingUnit 2   unit testing
Unit 2 unit testing
 
Unit 2 Unit Testing
Unit 2   Unit TestingUnit 2   Unit Testing
Unit 2 Unit Testing
 

Mehr von SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Mehr von SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Kürzlich hochgeladen

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 

Kürzlich hochgeladen (20)

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 

Тестирование спецификаций

  • 1. Тестирование требований PHD. MARYNA DIDKOVSKA TEST MANAGER VIDEO INTERNET TECHNOLOGIES LTD. MD@VIT.UA
  • 2. Важность 2 Распределение ошибок 7% 10% 56% Requirements 27% Design Other Code
  • 3. Относительная стоимость исправления багов 3 Phase in Which Found Cost Ratio Requirements 1 Design 3-6 Coding 10 Unit/Integration Testing 15-40 System/Acceptance Testing 30-70 Production 40-1000
  • 4. Требования. Определения 4  Требования – это спецификация того, что должно быть реализовано.  Требования описывают то, что необходимо реализовать, без детализации технической стороны решения Что, а не как
  • 5. Почему проекты не всегда успешны? 5  Требования и спецификации неполны  Требования и спецификации слишком часто изменяются.  При составлении требований мнение пользователей слабо учитывалось.
  • 7. Характеристики требований 7  Недвусмысленность  Полнота  Правильность  Осуществимость  Необходимость  Приоритезированность  Проверяемость
  • 8. Характеристики спецификации 8  Полнота  Последовательность  Модифицируемость  Прослеживаемость
  • 9. Прослеживаемость требований 9 User Functional Design Code Test Require Requirement Element Module Case ment UC-28 catalog.query.sort Class catalog.sort() search.7 catalog search.8 UC-29 catalog.query. Class catalog. search.12 import catalog import() search.13 catalog. search.14 validate() Changes are not so dangerous when you can manage them
  • 11. Процесс тестирования требований 11 1. Validate requirements against objectives 2. Apply scenarios against requirements 3. Perform initial ambiguity review 4. Perform domain expert reviews 5. Create cause-effect graph 6. Logical consistency check by RBT Tool 7. Review of test cases by specification writers 8. Review of test cases by users 9. Review of test cases by developers 10. Walk test cases through design 11. Walk test cases through code 12. Execute test cases against code
  • 12. Валидация требований 12 1. Экспертиза спецификации 2. Тестирование требований 3. Определение критериев сдачи продукта
  • 13. Review: Участники 13  Автор работы  Автор(ы) предшествующих документов  Те, кто впоследствии будут использовать данный документ в своей работе  Те, кто отвечают за уже существующие продукты, которые должны будут взаимодействовать с проектируемым
  • 14. Review: Роли 14  Author  Moderator  Reader  Recorder
  • 16. Review 16  Entry criteria  Exit criteria
  • 17. Ambiguity Review 17  это проверка требований, чтобы убедиться в том, что они написаны ясным, четким и недвусмысленным образом.  осуществляется до анализа требований экспертом в предметной области.
  • 18. Ambiguity review check list 18  The dangling Else  Built-in assumptions  Ambiguity of reference  Ambiguous precedence  Scope of action relationships  Omissions  Implicit cases  Ambiguous logical  Etc. operators  I.E. versus E.G.  Negation  Temporal ambiguity  Ambiguous statements  Boundary Ambiguity  Random organization
  • 19. Неоднозначные термины 19  acceptable, adequate  as much as practicable  at least, at a minimum, not more than, not to exceed  between  depends on  efficient  fast, rapid  flexible
  • 20. Неоднозначные термины 20  improved, better, faster, superior  including, including but not limited to, and so on, etc., such as  maximize, minimize, optimize  normally, ideally  optionally  reasonable, when necessary, where appropriate
  • 21. Неоднозначные термины 21  robust  seamless, transparent, graceful  several  shouldn't  state-of-the-art  sufficient  support, enable  user-friendly, simple, easy
  • 22. Ambiguity Review : Example 22 V.1 The expert system should be able to recognize and identify potential critical situations. It is not Unambiguous, Complete, Correct, Feasible • What does it mean “potential critical situations”? • How can this be done? • How can the system recognize and identify critical situations? It’s unverifiable.
  • 23. Ambiguity Review : Example 23 V.2 The expert system should keep a history of the V.2 The history of the values that itit is reading at specific time intervals.the values that is reading at specific time intervals. If If values has has risen considerably without any obvious the values risen considerably without any obvious reason during the last ten measurements, the expert reason during the the expert system will inform it. system will inform it. • What values should be gathered by the system? • How deep should be the history? • What does “specific time interval” mean exactly? • What is “risen considerably”? • What is “obvious reason”? • Will? The word “will” identifies an ambiguity called a “Dangling Else”. The sentence with “will” in it tells us what is normally expected to happen • It? Whom exactly and in what form?
  • 24. Ambiguity Review : Example 24 V.3 The expert system should keep monthly history of the pressure and temperature, that are read every 60 seconds. The values and time of the measurement should to be stored in DB. If pressure has risen on more then 10 pts and variation of temperature is less then 3 pts, then the IPC system should display to the operator message “Warning: critical rising of pressure” and produce alarm signal. The warning message should be displayed until an operator presses button “close” (Sketch Warning.CritialPressure)
  • 25. Problems in requirements 25  The most of the configuration settings of IPS IPS system The most of the configuration settings of system shall be easily upgradeable in future versions versions shall be easily upgradeable in future  It is ambiguous: How could we determine that it is “easily”  It’s incomplete:  What do “upgradeable” mean? How (in what way) should it be done?  Which exactly settings do “the most of configuration settings” include?  In what number of version this functionality will be necessary?  It’s unverifiable.
  • 26. Problems in requirements 26  The IPC system should not allow an operator functions The IPC system should not allow an operator functions, ,the consequences of which might be disastrous. the consequences of which might be disastrous.  It’s incomplete and unverifiable:  What does “disastrous” mean?  “may be” is very fuzzy, “may be” but “may be not”. How can be verified the functions the results of which might be disastrous?  What does “should not allow” mean? Someone can assume that buttons for some functions will be disabled, another - that an operator will not see such functions, another one that the IPC system should produce alarm message.
  • 27. Some more bugs 27  Simplify the installation as much as possible by including dependencies in our installer where it is possible and makes sense.  Follow standard Linux installations concepts where possible.  Provide a suitable installation package for each support operating system.
  • 28. Тестирование требований: Базовые подходы 28 1. Context free questions 2. Writing test cases 3. Models, Diagrams  Use-Case Diagram  Data Flow Diagram  Entity Relationships Diagram  State-Transition Diagram  Activity diagram  Class diagram  Decision Tables and Decision Trees
  • 29. Определите критерии приема продукта 29  Спросите пользователей, как они будут определять, отвечает ли ли продукт их потребностям и подходит ли для использования.  Основывайте приемо-сдаточное тестирование на сценариях использования
  • 30. Симптомы проблем с требованиями 30  Перерасход бюджета  Срыв сроков  Продукт не удовлетворяет заказчика  Постоянные переписывания кода  Демотивация команды  Упущенная рыночная ниша  Неприятие продукта рынком
  • 31. Преимущества качественных требований 31  Уменьшение затрат на переделки  Меньше ненужного кода  Более быстрая разработка  Уменьшение хаоса в проекте  Довольные заказчики и команда
  • 34. Cause-Effect graph 34  The error message shall appear when the measurement on operator demand is not done, and there are problems with network or invalid sensor ID  Cause  A - when the measurement on operator demand is not done  B - there are problems with network  C - or invalid sensor ID  Effect  E - The error message shall appear
  • 37. Check List Example for Review (focused on Correctness) 37  Do any requirements conflict with or duplicate other requirements?  Is each requirement written in clear, concise, and unambiguous language?  Is each requirement verifiable by testing, demonstration, review, or analysis?  Is each requirement in scope for the project?  Is each requirement free from content and grammatical errors?  Can all the requirements be implemented within known constraints?  Are all specified error messages unique and meaningful?

Hinweis der Redaktion

  1. 1. Validate requirements against objectives. Compare the objectives, which describe why the project is being initiated, to the requirements, which describe what is to be delivered. The objectives define the success criteria for the project. If the what does not match the why, then the objectives cannot be met, and the project will not succeed. If any of the requirements do not achieve the objectives, then they do not belong in the project scope.2. Apply scenarios against requirements. Apply scenarios against requirements. A scenario is a task oriented users’ view of the system. The individual requirements, taken together, must be capable of satisfying any scenario; otherwise the requirements are incomplete.3. Perform an initial ambiguity review. An ambiguity review is a technique for identifying and eliminating ambiguous words, phrases, and constructs. It is not a review of the content of the requirements. The ambiguity review produces a higher quality set of requirements for review by the rest of the project team.4. Perform domain expert reviews. The domain experts review the requirements for correctness and completeness.5. Create Cause-Effect Graph. The requirements are translated into a Cause-Effect Graph, which provides the following benefits:o It resolves any problems with aliases (i.e., using different terms for the same cause or effect).o It clarifies the precedence rules among the requirements (i.e., what causes are required to satisfy what effects).o It clarifies implicit information, making it explicit and understandable to all members of the project team.o It begins the process of integration testing. The code modules eventually must integrate with each other. If the requirements that describe these modules cannot integrate, then the code modules cannot be expected to integrate. The cause-effect graph shows the integration of the causes and effects.o Cause-Effect Graphs may look intimidating on the surface. They would appear to need someone with a formal logic background or electricalengineering background to create them. However, all you need to know to build them is the definition of “AND”, “OR”, and “NOT”. If you are in thesoftware profession and unsure of these three terms then it is time for a career change.6. Logical consistency checks performed and test cases designed by BenderRBT tool.The tool identifies any logic errors in the cause-effect graph. The output from the tool is a set of test cases that are 100 percent equivalent to the functionality in the requirements.7. Review of test cases by requirements authors. The designed test cases are reviewed by the requirements authors. If there is a problem with a test case, the requirements associated with the test case can be corrected and the test cases redesigned.8. Validate test cases with the users/domain experts. If there is a problem with the test case, the requirements associated with it can be corrected and the test case redesigned. The users/domain experts obtain a better understanding of what the deliverable system will be like. From a Capability Maturity Model® IntegrationSM (CMMISM) perspective, you are validating that you are building the right system.9. Review of test cases by developers. The test cases are also reviewed by the developers. By doing so, the developers understand what they are going to be tested on, and obtain a better understanding of what they are to deliver so they can deliver for success.10. Use test cases in design review. The test cases restate the requirements as a series of causes and effects. As a result, the test cases can be used to validate that the design is robust enough to satisfy the requirements. If the design cannot meet the requirements, then either the requirements are infeasible or the design needs rework.11. Use test cases in code review. Each code module must deliver a portion of the requirements. The test cases can be used to validate that each code module delivers what is expected.12. Verify code against the test cases derived from requirements. The final step is to build test cases from the logical test cases that have been designed by adding data and navigation to them, and executing them against the code to compare the actual behavior to the expected behavior. Once all of the test cases execute successfully against the code, then it can be said that 100 percent of the functionality has beenverified and the code is ready to be delivered into production. From a CMMI perspective, you have verified that you are building the system right.
  2. The document conforms to the standard template.The document has been spell-checked.The author has visually examined the document for any layout errors.Any predecessor or reference documents that the inspectors will require to examine the document are available.Line numbers are printed on the document to facilitate referring to specific locations during the inspection meeting.All open issues are marked as TBD (to be determined).The moderator didn't find more than three major defects in a ten-minute examination of a representative sample of the document.___All issues raised during the review have been addressed.Any changes made in the document and related work products were made correctly.The revised document has been spell-checked.All TBDs have been resolved, or each TBD's resolution process, target date, and owner has been documented.The document has been checked into the project's configuration management system
  3. Intelligent Process Control (IPC) System for the board production technological process, based on the expert system