Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Принципы тестирования



Сформулируем основные принципы тестирования, используя главную предпосылку настоящей главы о том, что наиболее важными в тестировании программ явля­ются вопросы психологии. Эти принципы интересны тем, что в основном они интуитивно ясны, но в то же время на них часто не обращают должного внимания.

Описание предполагаемых значений выходных дан­ных или результатов должно быть необходимой ча­стью тестового набора.

Нарушение этого очевидного принципа представля­ет одну из наиболее распространенных ошибок. Ошибоч­ные, но правдоподобные результаты могут быть призна­ны правильными, если результаты теста не были заранее определены. Здесь мы сталкиваемся с явлением психо­логии: мы видим то, что мы хотим увидеть Другими сло­вами, несмотря на то что тестирование по определе­нию— деструктивный процесс, есть подсознательное же­лание видеть корректный результат. Один из способов борьбы с этим состоит в поощрении детального анализа выходных переменных заранее при разработке теста Поэтому тест должен включать две компоненты: описа­ние входных данных и описание точного и корректно­го результата, соответствующего набору входных дан­ных.

Необходимость этого подчеркивал логик Копи в ра­боте [1]: «Проблема может быть охарактеризована как факт или группа фактов, которые не имеют приемлемого объяснения, которые кажутся необычными или которые не удается подогнать под наши представления или пред­положения Очевидно, что если что-нибудь подвергается сомнению, то об этом должна иметься какая-то предва­рительная информация. Если нет предположений, то не может быть и неожиданных результатов».

Следует избегать тестирования программы ее авто­ром.

Этот принцип следует из обсуждавшихся ранее в дан­ной главе положений, которые определяют тестирование как деструктивный процесс. После выполнения конст­руктивной части при проектировании и написании про­граммы программисту трудно быстро (в течение одного дня) перестроиться на деструктивный образ мышления.

Многие, кому приходилось самому делать дома ремонт, знают, 'что процесс обрывания старых обоев (деструк­тивный процесс) не легок, но он просто невыносим, если не кто-то другой, а вы сами первоначально их наклеива­ли. Вот так же и большинство программистов не могут эффективно тестировать свои программы, потому что им трудно демонстрировать собственные ошибки.

В дополнение к этой психологической проблеме сле­дует отметить еще одну, не менее важную: программа может содержать ошибки, связанные с неверным пони­манием постановки или описания задачи программи­стом. Тогда существует вероятность, что к тестированию программист приступит с таким же недопониманием сво­ей задачи.

Тестирование можно уподобить работе корректора или рецензента над статьей или книгой Многие авторы представляют себе трудности, связанные с редактирова­нием собственной рукописи. Очевидно, что обнаруже­ние недостатков в своей деятельности противоречит че­ловеческой психологии.

Отсюда вовсе не следует, что программист не может тестировать свою программу. Многие программисты с этим вполне успешно справляются, Здесь лишь делается вывод о том, что тестирование является более эффектив­ным, если оно выполняется кем-либо другим. Заметим, что все наши рассуждения не относятся к отладке, т е. к исправлению уже известных ошибок. Эта работа эф­фективнее выполняется самим автором программы





Дата публикования: 2015-01-26; Прочитано: 285 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...