Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения. Фундамен...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
935.81 Кб
Скачать

Глава 4

Программные ошибки

Назначение этой главы

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

Более подробно программные ошибки описываются в приложении, где кроме основной классификации, разделяющей все возможные ошибки на 13 категорий, рассматривается около 400 их видов.

Библиография

Хорошими пособиями для изучения вопросов качества программных про­дуктов и классификации возможных ошибок являются книги Деминга (Deming, 1982), Фейгенбаума (Feigenbaum, 1991), Ишикавы (Ishikawa, 1985) и Джурана (Juran, 1989).

Качество

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

94 Часть I: Основы

У большинства разработчиков программного обеспечения таких грамотных и обстоятельных клиентов нет.

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

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

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

Хотя надежность программы исключительно важна, она не является единственным критерием ее качества, и не правы те тестировщики, кото­рые так думают. Если программа не позволяет пользователю выполнить что-то, что он считает важным, пользователь не будет ею доволен. А если пользователь недоволен, значит, качество программы нельзя назвать высо­ким.

Итак, качество программы определяется:

• возможностями, благодаря которым она понравится пользователю;

• недостатками, которые вынуждают пользователя приобрести другую программу.

Главное, что тестировщик может сделать для улучшения качества про­граммы, — это выявить ее недостатки, сбои в ее работе и явные ошибки. Если руководитель проекта примет решение в последний момент добавить какую-нибудь очень важную функцию, это тоже может способствовать повышению качества, даже несмотря на то, что от этого программа станет менее надежной. Ни надежность, ни функциональность программы не могут быть абсолютными, и ее качество в конечном счете означает разум­ный баланс между этими двумя характеристиками. (Подробнее данный вопрос рассматривает в своей книге Джуран (,1игап, 1989).)

Оставшаяся часть этой главы посвящена недостаткам и ошибкам про­грамм. Как их выявить и как определить степень их серьезности?