Введение
Тест-скрипт в тестировании программного обеспечения — это набор инструкций, предназначенных для выполнения на тестируемой системе с целью проверки соответствия её работы ожидаемым результатам.
Типы сценариев испытаний
Существуют различные способы выполнения тестовых сценариев. Эти два последних типа также выполняются при ручном тестировании. Ручное тестирование. Чаще всего их называют тест-кейсами. Автоматизированное тестирование. Это короткая программа, написанная на языке программирования, используемая для тестирования части функциональности программной системы. Тест-скрипты, написанные в виде короткой программы, могут быть созданы с использованием специализированного инструмента автоматизированного функционального GUI-тестирования (например, HP QuickTest Professional, Borland SilkTest, IBM TPNS и Rational Robot) или на общеизвестном языке программирования (например, C++, C#, Tcl, Expect, Java, PHP, Perl, PowerShell, Python или Ruby). Согласно документации IEEE, ISO и IEC. Широко параметризованные короткие программы, также известные как тестирование на основе данных. Многократно используемые шаги, оформленные в виде таблицы, также известные как тестирование на основе ключевых слов или табличное тестирование.
Reusable steps created in a table a. k. a. keyword driven or table driven testing.
Использование и функциональность
Автоматизированные тесты могут выполняться непрерывно без вмешательства человека, они легко воспроизводимы и зачастую быстрее. Автоматизированные тесты полезны в ситуациях, когда тест необходимо выполнять многократно, например, в рамках регрессионного тестирования. Однако автоматизированные тесты могут быть неэффективны, если они плохо написаны, что может привести к некорректному тестированию или выполнению неисправных тестов. Как и любое программное обеспечение, автоматизированные тесты могут быть написаны с ошибками или просто выйти из строя во время выполнения. Кроме того, они могут проверять только то, для чего были запрограммированы. Поскольку большинство систем разрабатываются с учетом взаимодействия с человеком, важно, чтобы систему протестировал человек. Опытный ручной тестировщик может заметить некорректную работу системы без каких-либо подсказок или указаний, в то время как автоматизированные тесты могут проверять только то, что им было запрограммировано. При использовании в регрессионном тестировании ручные тестировщики могут находить новые ошибки, одновременно убеждаясь в отсутствии старых, в то время как автоматизированный тест может гарантировать только последнее. Часто используется комбинированный подход, сочетающий автоматизированное и ручное тестирование: автоматизируется то, что нужно тестировать часто и что легко проверить машиной, а ручное тестирование применяется для разработки тестов и исследовательского тестирования. Необходимо учитывать возврат инвестиций при автоматизации любого тестового сценария, то есть, стоит ли стоимость его создания и поддержки меньше, чем стоимость ручного выполнения. При этом стоимость следует оценивать не только во времени и деньгах, но и в упущенных возможностях, связанных с тем, что люди не заняты другой работой.