SaaS / SaaS: 1.4 - Assurance
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Таким образом, есть два слова, которые, вероятно звучат одинаково, но они являются по ArtemD 25.02.12 в 13:56 Итак, имеется 2 слова, которые возможно являются синонимами, но мы используем galiyashka 29.02.12 в 11:06 |
+2 |
|
определенно разными. Верификация означает то что мы построиили вещь правильно. И это ArtemD 25.02.12 в 13:57 их совсем по-разному. Verification [контроль] означает, что что вы построили объект правильно. То есть он galiyashka 29.02.12 в 11:06 |
||
|
удовлетворяет спецификации. Под валидацией имеется в виду то, что .«вы создали правильный продукт». ArtemD 25.02.12 в 14:00 соответствует спецификации. Validation [проверка] означает, что вы создали правильную galiyashka 29.02.12 в 11:06 |
||
|
То есть счастлив ли клиент? Более или менее это означает, ArtemD 25.02.12 в 14:03 вещь. То есть, доволен ли результатом заказчик? Более или менее это означает, что galiyashka 29.02.12 в 11:07 |
||
|
верна ли спецификация? Таким образом "железо" проверяют верификацией. ArtemD 25.02.12 в 14:06 спецификация верна, не так ли? Таким образом, довольно часто контроль (verification) связан с "железом". galiyashka 29.02.12 в 11:07 |
||
|
Существует спецификация, она не будет изменяться, и мы работаем с ней. Программное обеспечение, может быть, не для НАСА galiyashka 29.02.12 в 11:07 |
||
|
но большинство видов ПО обычно имеют дело с проверкой (validation): galiyashka 29.02.12 в 11:07 |
||
|
создали ли вы правильную вещь или нет? Не как правильно этот объект создан, а то, что этот объект - "то что надо", galiyashka 29.02.12 в 11:07 |
||
|
и это одна из причин, почему ПО так сложно создавать, потому что заказчик будет менять galiyashka 29.02.12 в 11:07 |
||
|
свое мнение о том, что он хочет. Agile-разработка имеет дело с проверкой (validation). И тут есть два варианта: galiyashka 29.02.12 в 11:07 |
||
|
тестирование и применение формальных методов, и мы рассмотрим galiyashka 29.02.12 в 11:07 |
||
|
их оба. Исчерпывающее тестирование невозможно. Мы надеемся заставить tablet заработать, galiyashka 29.02.12 в 11:08 |
||
|
поэтому я просто буду вычислять в уме. Скажем у нас есть 64-битный число на входе, galiyashka 29.02.12 в 11:08 |
||
|
только одно 64-битное число на входе. И давайте скажем, что мы можем его протестированть в течение наносекунды. galiyashka 29.02.12 в 11:08 |
||
|
Ладно. Пусть вам нужно выполнить всего 4 команды, которые выполняют весь тест. galiyashka 29.02.12 в 11:08 |
||
|
Как чудесно. Давайте теперь это умножать. Посмотрим. 2 в galiyashka 29.02.12 в 11:08 |
||
|
64ой степени комбинаций. Наносекундных это как два в 30ой степени. И если я разделю это, то получится 2 galiyashka 29.02.12 в 11:08 |
||
|
в 34ой степени? Оказывается, это очень полезная информация. На год galiyashka 29.02.12 в 11:08 |
||
|
приходится около 32,000,000 секунд Вы увидите почему это полезно знать. Таким образом, два galiyashka 29.02.12 в 11:08 |
||
|
в 25ой степени секунд в году. Таким образом, мы поделим на два в 25ой степени. Что galiyashka 29.02.12 в 11:08 |
||
|
у нас получается в итоге. 2 в 34ой степени поделить на 2 в 25ой. Остается 2 galiyashka 29.02.12 в 11:09 |
||
|
в 7ой степени. Это 500 лет. [прим. пер. 128?] Поэтому если вы могли бы провести тест за одну наносекунду и это только для одной galiyashka 29.02.12 в 11:09 |
||
|
переменной, то у вас займет 500 лет, чтобы сделать исчерпывающее тестирование. Поэтому невозможно обеспечить galiyashka 29.02.12 в 11:09 |
||
|
исчерпывающее тестирование. В ваших программах скорее всего более одной переменной и galiyashka 29.02.12 в 11:09 |
||
|
это, их тестирование, наверное, займет более 1ой наносекунды, поэтому так делать не стоит. Что же тогда делают galiyashka 29.02.12 в 11:09 |
||
|
люди? Как всегда в компьютерной науке, мы используем принцип "разделяй и властвуй". Мы выполняем galiyashka 29.02.12 в 11:09 |
||
|
Мы выполняем различные тесты на разных этапах разработки программ. И мы будем galiyashka 29.02.12 в 11:09 |
||
|
это надстраивать, правильно? Уровень интерпретации, уровень абстракции. Вот, это наш, galiyashka 29.02.12 в 11:09 |
||
|
стандартный прием. И то что вы будете делать - это тестировать galiyashka 29.02.12 в 11:09 |
||
|
на нижнем уровне и те, уровни, что находятся выше, будут полагать, что предыдущие протестировали все правильно galiyashka 29.02.12 в 11:10 |
||
|
и будут двигаться вперед. Итак, то что находится на нижнем уровне это "модульное тестирование", galiyashka 29.02.12 в 11:10 |
||
|
там вы обычно проверяете одиночный метод, чтобы удостовериться, что все выполнено, как ожидалось. Таким образом, это galiyashka 29.02.12 в 11:10 |
||
|
один метод в единицу времени. Следующий уровень который называется либо тестированием модулей galiyashka 29.02.12 в 11:11 |
||
|
или функциональным тестированием, где вы тестируете несколько частей системы. galiyashka 29.02.12 в 11:11 |
||
|
Это другой тип тестирования. Интегральное тестирование находится на следующем уровне. galiyashka 29.02.12 в 11:11 |
||
|
Взаимосвязь между частями системы. Убедитесь, что предположения верны, и они могут galiyashka 29.02.12 в 11:11 |
||
|
взаимодействовать. Это то, что вытестируете. Тестирование взаимодействия системы. И на galiyashka 29.02.12 в 11:11 |
||
|
вершине стека. находится так называемое, системное тестирование, или приемочное тестирование, где galiyashka 29.02.12 в 11:11 |
||
|
ПО проверяется на соответствие спецификациям. Так определяются galiyashka 29.02.12 в 11:11 |
||
|
различные виды тестирования. И это стратегия, которую надо использовать. [Неразборчиво] И мы будем это делать galiyashka 29.02.12 в 11:12 |
||
|
на наших занятиях. У нас будут инструменты, предназначенные для модульного тестирования. galiyashka 29.02.12 в 11:12 |
||
|
И средства для более высоких уровней. Пять уровней. Да, они не выполнили системное galiyashka 29.02.12 в 11:12 |
||
|
тестирование, не так ли? Они запускали тесты более низких уровней. Да, это отработало, galiyashka 29.02.12 в 11:12 |
||
|
и это отработало. Они не пытались запустить ракету, чтобы она прошла всю дистанцию galiyashka 29.02.12 в 11:12 |
||
|
и поэтому они делали отладку программы по-другому. Очень много написано о тестировании. galiyashka 29.02.12 в 11:12 |
||
|
Покрытие [кода] это процент от прошлого покрытия покрытия. А если посмотреть на ветки galiyashka 29.02.12 в 11:12 |
||
|
условий. Как изменять переменные? Затронули ли вы все пути [исполнения] в galiyashka 29.02.12 в 11:12 |
||
|
программе? Эта идея называется регрессионное тестирование, ведь программное обеспечение изменяется galiyashka 29.02.12 в 11:12 |
||
|
во времени. Если вы что-то добавляете, и старые тесты перестают работать. Как избежать этого? galiyashka 29.02.12 в 11:12 |
||
|
Для это вы запускаете тесты непрерывно, или неоднократно, может быть, они исполняются ночью. galiyashka 29.02.12 в 11:12 |
