Тестирование-книга. Ю. Н. Артеменко Научный редактор
Скачать 6.27 Mb.
|
Глава 6: Система отслеживания проблем 1 6 5 Итоговые показатели хода работ На рис. 6.8 приведен отчет Еженедельные итоги, в котором отображается ход работ по тестированию и отладке программного продукта. Этот отчет пополняется новыми сведениями каждую неделю, отражая текущий про гресс, а еще один аналогичный отчет содержит укрупненные итоги, вычис ляемые в конце каждого цикла тестирования. Можно составить третий отчет, показывающий, сколько незначительных, серьезных и фатальных проблем было выявлено в течение каждой недели. В четвертом аналогич ном отчете выявляемые проблемы можно сгруппировать по функциональ ным областям. Каждый из перечисленных отчетов позволяет увидеть разработку в процес се, проанализировать выполненную часть работы и оценить перспективы. Для сравнения можно поднять аналогичные отчеты предыдущих проектов. Напри мер, можно использовать их для демонстрации следующих фактов. • Необходим еще месяц тестирования продукта. Как правило, коли чество выявляемых проблем (за неделю или в течение одного цик ла) в начале тестирования растет, а затем, достигнув определенного максимума, начинает снижаться. Неразумно выпускать продукт в продажу до того, как этот показатель стабилизируется и достигнет достаточно низкого уровня. • Не стоит прекращать тестирование на неделю или две раньше запланированного срока и, тем более, делать это без предупреждения. Очень часто на последнем цикле тестирования сотрудники работа ют более напряженно, чем обычно, — они выкладываются, пытаясь найти максимум оставшихся ошибок. Из итоговых отчетов видно, что в самом конце разработки наблюдается всплеск активности и выявляется и исправляется целый ряд серьезных ошибок и недостат ков программы. 1 6 6 Часть II: Приемы и технологии тестирования • Огромное количество отчетов об ошибках пользовательского ин терфейса на ранних стадиях проекта является нормальным. Обязательно распечатывайте отчеты с итоговыми показателями хода работ в конце каждого проекта — в дальнейшем они могут очень приго диться. Что касается текущих отчетов, то это вопрос личных предпочтений. Генерируйте их по мере необходимости и передавайте тем, кому они по требуются. Во многих группах принято регулярно представлять итоговые показате ли хода работ в виде диаграмм и вместе с еженедельными отчетами о со стоянии проекта вывешивать их для всеобщего обозрения. Когда разработка завершена Когда разработка подходит к концу и окончательная версия программ ного продукта уже практически готова, наступает время для ряда заверша ющих действий. Прежде всего следует внести в программу все оставшиеся исправления, чтобы не осталось ни одного открытого отчета. Когда продукт будет готов окончательно и вся бумажная работа завершена, составьте Акт о выпуске (рис. 6.9). Глава 6: Система отслеживания проблем 1 6 7 В этом акте приводится только одна цифра — количество отложенных проблем. К нему прилагается копия Сводного отчета о нерешенных пробле мах (см. рис. 6.7). В последний обязательно следует включить поле Подроб ное описание проблемы и как ее воспроизвести, поскольку это последний шанс изменить принятое решение и все-таки исправить программу. Черновую копию акта о выпуске следует передать каждому, кто должен его подписать. Черновые копии не подписываются (Их поля подписей можно заполнить символами XXX). Раздать их лучше всего за день до того, как будет принято окончательное решение о выпуске продукта в производ ство, чтобы предоставить ответственным сотрудникам последнюю возмож ность еще раз пересмотреть все отложенные проблемы и, если необходимо, высказать свои возражения. На следующий день обойдите их всех и собе рите их подписи на настоящем экземпляре акта (все подписи должны быть на одном документе). Кто должен подписать акт о выпуске, решаете не вы — это сделает руководство. Акт подписывают все те сотрудники, которые должны одоб рить окончательную версию продукта перед тем, как она уйдет в производ ство. Тем, кто не может наложить вето на его выпуск, незачем подписывать акт. Обратите внимание, что подпись руководителя группы тестирования ставится внизу документа, в графе Акт подготовлен. Это означает, что вы только составляете данный документ, одобрение выпуска продукта в ваши функции не входит. Вы отвечаете за конкретную техническую часть про изводства, а все стратегические решения принимает руководство. Если вы чувствуете, что тестирование проведено неадекватно, напишите об этом в докладной записке, приложите ее к акту и в ней же объясните, почему вы так считаете. Открытие отложенных отчетов для подготовки следующего выпуска программного продукта После того как работа над выпуском продукта 2.10 завершена и он отправлен в производство, компания приступает к планированию выпуска 3. И прежде всего, открываются все отчеты с пометками Отложено, Счи тать отложенным и, как правило, также Соответствует проекту. Это одна из наиболее важных функций системы — гарантировать, что отложенные проблемы не будут забыты. Ведь они отложены не навсегда, а как прави ло, до следующего выпуска программы, и предполагается, что все они в свое время будут решены. Программное обеспечение, управляющее базой данной, должно скопи ровать все отчеты, отложенные в предыдущем выпуске программного про дукта, во временные файлы, изменить их, как указано ниже, а затем 1 6 8 Часть II: Приемы и технологии тестирования поместить в файлы данных нового выпуска. Затем все отчеты должны быть распечатаны. При переносе в файлы очередного выпуска отчеты модифицируются следующим образом: • Значение поля Резолюция изменяется на Рассматривается. • Изменяются значения полей Выпуск и Версия. • Отчетам присваиваются новые номера (поле Отчет о проблеме №). • Очищаются все поля подписей и соответствующих дат, за исключени ем подписи составителя отчета. • Очищается поле Комментарии. Значения остальных полей отчетов следует оставить прежними. После помещения в новую базу данных все эти отчеты используются как обыч но. На практике некоторые компании сначала анализируют отчеты и отби рают те, которые подлежат повторному открытию. Но даже авторы данной книги разделились во мнениях, стоит ли осуществлять такой предваритель ный отбор или лучше открывать все отложенные отчеты. Отслеживание заплаток Некоторые компании в ответ на жалобы пользователей пишут так на зываемые заплатки. Они представляют собой небольшие изменения, вно симые в программу для исправления конкретной ошибки. При такой технологии работы нетрудно пропустить побочные эффекты, поскольку изменения вносятся на скорую руку и не слишком тщательно тестируют ся. Заплатки рассылаются пользователям и сохраняются в архивах компа нии. Новые пользователи по-прежнему получают исходную версию программного обеспечения и при желании могут обратиться в компанию за заплатками. При подготовке очередного выпуска программного обеспечения в него интегрируются все заплатки предыдущего выпуска. Однако нередко случа ется, что о какой-нибудь из них просто забывают. Убедиться, что ни одна из заплаток не забыта, обязана группа тестирования нового выпуска. Если в вашей компании применяется описанная стратегия поддержки программного продукта, в набор возможных резолюций на отчетах о про блемах стоит добавить еще одну — Написана заплата. Такая резолюция будет означать, что проблема решена временно и исправления необходи мо будет внести в новый выпуск программы. Когда это будет сделано и соответствующий код нового выпуска будет как следует проверен, вы из мените резолюцию на Исправлено. Чтобы напомнить сотрудникам о необ- Глава 6: Система отслеживания про... 1 6 9 ходимости внесения в программу оставшихся заплат, можно периодически распространять сводный отчет Текущие заплаты (рис. 6.10). Дополнительные замечания о документировании проблем Главным принципом построения и эксплуатации системы отслеживания проблем должна быть концентрация на выявлении и устранении ошибок. Никакой политики, никаких оценок, никаких административных функций — только ошибки. Задачей группы тестирования является выявление максимума проблем, их основательный анализ, составление максимально эффективных отчетов и предоставление тем, кто будет с ними работать, простого и удобного средства их анализа и дополнения. Это средство должно предоставлять пользователю возможность поиска и отбора информации — как итоговой, так и по отдельным отчетам, и в конечном счете максимально способство вать исправлению ошибок и недостатков программы. За годы работы мы усвоили несколько очень важных уроков. О некоторых из них уже расска зывалось в предыдущих разделах этой главы, а сейчас вам предстоит узнать о тех, которые заслуживают особого внимания. Выработка критериев оценки важности выявляемых проблем Каждый тестировщик и вся группа тестирования постоянно подверга ются критике за пропущенные ошибки и отчеты о мелочах, не заслужива ющих внимания. В течение разработки руководитель проекта жалуется на излишние отчеты, а после ее завершения, когда начинают приходить жа лобы от пользователей, высказывает недовольство по поводу каждой най денной ими ошибки. Руководитель группы тестирования может повысить эффективность работы своих подчиненных, если будет постоянно просмат ривать отчеты и проводить обучение персонала, но каких бы успехов он ни 170 Часть II: Приемы и технологии тестирования добился и какими бы классными специалистами ни стали все без исклю чения тестировщики, жалобы все равно не прекратятся. Каждый тестиров- ЩИК периодически сталкивается со спорными особенностями поведения программы, которые можно документировать как ошибочные или непонят ные, а можно и пропустить. Если пропустить такую особенность, то в конечном счете может оказаться, что это была самая настоящая ошибка. А если составить отчет, возможно, его рассмотрение будет для других сотруд ников пустой потерей времени. В хорошо организованных группах тести рования обсуждению подобных вопросов и выработке оптимальной стратегии принятия решений уделяется достаточно много внимания. Балан сируя между риском пропустить ошибку и вероятностью впустую потратить рабочее время сотрудников, специалисты группы тестирования должны заранее расставить приоритеты: какая из этих двух неприятностей будет иметь худшие последствия. Каждый раз, составляя отчет о проблеме, тестировщик оценивает, сто ит ли она внесения в базу данных - стоит ли то изменение, которое он предлагает, времени и усилий разработчиков. • В каких случаях неверное поведение программы стоит документи ровать? Одни тестировщики считают, что документированию подле жит любое неверное действие программы. Другие впадают в противоположную крайность и документируют только те ошибки, которые вызывают разрушение данных или препятствуют дальней шей эксплуатации программы. Если же существует обходной путь выполнения необходимых действий, они не документируют найден ную ошибку. • Если в программе вам что-то не нравится или вы считаете, что некоторые пользователи будут недовольны какой-либо ее особенно стью, стоит составить отчет и указать в нем, что данная особенность программы может считаться ее недостатком, или описать изменения, которые, на ваш взгляд, значительно ее усовершенствуют. • Если неверное поведение программы похоже на то, которое уже описано в одном из отчетов, можно не составлять новый отчет до тех пор, пока в ходе дальнейшего тестирования не будут выявлены достаточно значительные различия. • Если не удается воспроизвести увиденную ошибку, но при этом вы хорошо помните, в чем она заключалась и что вы делали, перед тем как она проявилась, отчет о ней вполне может оказаться полезным. • Если в процессе эксплуатации программы вы допускаете слишком много ошибок, стоит подумать, не является ли их причиной неудоб ный или нечеткий интерфейс программы. Глава 6: Система отслеживания проблем 1 7 1 • Стоит ли документировать недостатки интерфейса после того, как этап разработки, на котором разрешено его изменять, завершен? Критерии оценки необходимости документирования проблем меняют ся по мере продвижения разработки. На ранних стадиях тестирования, когда программа сбоит каждые несколько минут, возможно, имеет смысл документировать только наиболее серьезные ошибки. По мере того как программа будет становиться все более стабильной, вы будете документи ровать все больше мелких деталей — все, что покажется вам спорным или неправильным. Ближе к концу разработки можно снова оставить мелкие недостатки интерфейса и сконцентрироваться на наиболее серьезных ошиб ках кодирования. Точность и уверенность оценок приходит с опытом. Их критерии при ходится несколько корректировать, приспосабливаясь к требованиям каж дого нового руководителя проекта или руководителя группы тестирования, стандартам каждой новой компании. Именно взгляды руководства и выб ранная им стратегия разработки в конечном счете определяют принципы отбора документируемых проблем. Однако какими бы ни были выбранные критерии, они не гарантируют для вас полное отсутствие ошибок. Рассмотрим пример, когда найдена ошибка, очень похожая на одну из тех, отчеты о которых уже включены в базу данных. Тут возможны два варианта действий: 1. Вы решите не документировать новую ошибку из-за ее сходности с предыдущей. • Если вы правы и действительно имеете дело с одной и той же ошибкой, то сэкономите время сотрудников, читающих ваши отчеты. • Однако, если вы ошибаетесь, программист исправит одну ошиб- ку и оставит другую, поскольку никогда о ней не узнает. В ре зультате рискует пользователь — он может получить плохо работающую программу. 2. Вы решите, что, вероятнее всего, столкнулись с разными ошибками, и составите новый отчет. • Если вы правы, обе ошибки будут исправлены. • Если нет, будет зря затрачено время сотрудников компании: ваше — на составление отчета, руководителя проекта — на его чтение и оценку, программиста — на исследование и анализ, в результате которого он выяснит, что ошибка уже исправлена, и снова ваше — на повторное тестирование и закрытие отчета. Это риск произ водителя — ведь в конечном счете все это выливается для него в дополнительные материальные и временные затраты. 172 Часть II: Приемы и технологии тестирования Получается, что за каждую вашу ошибку платит одна из сторон. Как же быть и чем лучше рискнуть? Внедряя в коллективе тестировщиков определенные принципы и выс казывая требования и пожелания, необходимо принять во внимание ряд психологических особенностей исполнителей, которые отразятся на каче стве их работы. Канер описал эти особенности на основе исследований уже упоминавшейся теории интерпретации сигналов (Green & Sweets, 1966). Вот к каким выводам он пришел. 1. Имея дело с опытным и квалифицированным тестировщиком, не пытайтесь искать способы научить его лучше различать, являются ли две похожие ситуации результатом одной и той же ошибки програм мы или разных. Для достаточно отличающихся ситуаций он будет составлять два отчета, иногда ошибаясь и принимая одну ошибку за две. В более похожих случаях он будет составлять только один отчет, опять же, иногда ошибаясь и принимая две разные ошибки за одну. Если под вашим давлением он будет стараться выявить больше ошибок, то неизбежно начнет чаще составлять дублирующиеся отче ты, а если попытается уменьшить количество дублирующихся отче тов, то возрастет количество пропускаемых им ошибок. 2. Влиять на производительность работы тестировщика можно, но не обходимо знать о последствиях. Если попросить его сократить коли чество дублирующихся отчетов, он это сделает. Но при этом больше похожих, но различных ошибок останутся недокументированными. Мало кто из руководителей проектов понимает неизбежность тако го побочного эффекта. 3. Влияние на производительность работы тестировщика может быть и неявным, однако с теми же последствиями. Если убедить его, что в данной конкретной программе источником похожих ситуаций с большой вероятностью будет одна и та же ошибка, он уменьшит количество дублирующихся отчетов и при этом больше похожих, но различных ошибок останутся недокументированными. Глава 6: Система отслеживания проблем 1 7 3 4. Еще одним примером неявного влияния на производительность ра боты тестировщика может быть сознание различных последствий допускаемых ошибок. Если руководитель проекта не предъявляет особых претензий за пропущенные ошибки, зато очень недоволен, когда в двух отчетах описывается одна и та же проблема, большин ство тестировщиков будут реже составлять дублирующиеся отчеты (и пропускать больше похожих, но различных ошибок). Все сказанное о взятой для примера проблеме похожих ошибок приме нимо и к любым другим решениям, которые приходится принимать тести- ровщикам. Каждый из них будет время от времени допускать ошибки, и вам как руководителю проекта или руководителю группы тестирования не обходимо решить, последствия каких из этих ошибок будут более серьез ными. Что хуже, мусор в базе данных или недокументированные ошибки. Можно ли пропустить серьезную ошибку, которая показалась не стоящей внимания или лучше рискнуть включить в базу данных пустяковый отчет, по которому никто никаких изменений вносить не будет? Можно ли про пустить серьезную ошибку в утвержденной спецификации или лучше рис кнуть потратить время сотрудников на рассмотрение вопроса, который поднят слишком поздно. Ответом на все эти вопросы может быть только заранее выработанная политика, которая позволит вам и вашим подчинен ным действовать более последовательно и уверенно. Похожие отчеты Как следует поступать, когда неправильные действия программы в двух различных ситуациях очень похожи? Десяток отчетов об одной и той же проблеме — это явно недопустимая трата времени программиста и руководителя проекта. Если ее можно избе жать, следует сделать для этого все возможное. А вот аргументы в пользу свободного включения в базу данных отчетов о похожих неправильных действиях программы. • В двух похожих отчетах могут описываться различные ошибки. Если не включить в базу данных один из этих отчетов, соответствующая ошибка не будет исправлена. • Одна и та же ошибка может быть допущена в двух разных фрагмен тах кода. Если документировать только один экземпляр, как про граммист узнает о втором? • Второй отчет о сложной проблеме может предоставить программи сту дополнительную информацию, которая поможет выявить ее источник. Чем самостоятельно решать, какой из отчетов будет по лезнее программисту, лучше предоставить ему максимум информа ции. 174 Часть II: Приемы и технологии тестирования • Если возвратить сотруднику отчет с пометкой, что проблема уже зарегистрирована, как ему поступить, столкнувшись с ней повторно? Следует ли составить отчет снова? При работе с сотрудниками, не являющимися членами группы тестирования, следует определиться в этом вопросе. А вот несколько рекомендаций, относящихся к обязанностям тестиров- щиков, способствующих улучшению организации работ: • Каждый тестировщик обязан ознакомиться со всеми проблемами, выявленными в той части кода, которую он тестирует. Он не должен составлять новых отчетов о проблемах, которые уже зарегистриро ваны в базе данных. Если появилась дополнительная информация, ее можно внести в поле Комментарии — для этого оно и предназна чено. Второй отчет в этом случае только создаст путаницу. Руково дители групп тестирования расходятся во мнениях о том, сколько времени новый сотрудник должен затрачивать на изучение уже имеющихся отчетов. Одни считают, что тестировщик должен озна комиться со всеми ранее составленными отчетами до того, как со ставит свой первый отчет. Другие предлагают делать это постепенно по ходу работы и допускают большее количество повторений. • Тестировщики должны регулярно просматривать базу данных, что бы быть в курсе всех выявляемых проблем. Столкнувшись с ситуа цией, похожей на одну из уже описанных, им следует включать в отчеты перекрестные ссылки (номера связанных отчетов в поле Комментарии). • До того, как будет совершенно точно установлено, что похожие отчеты действительно относятся к одной и той же проблеме, ни один из них не следует закрывать как дублирующийся. Гораздо лучше пользоваться перекрестными ссылками. Не стоит и объединять по хожие отчеты в один. Регистрация различных мнений Тестировщики, руководители проекта, программисты и другие члены команды могут очень сильно расходиться во мнениях по поводу отчета о какой-либо проблеме. Иногда их разногласия вызывают отчаянные споры. Чтобы помочь делу, необходимо прежде всего обеспечить возможность регистрации в системе мнения каждого из участников разработки. Вот какими средствами это реализуется: • Степень важности и Приоритет. Степень важности проблемы опре деляет тестировщик, а ее приоритет задает руководитель проекта. Если в системе будет только одно из этих полей, постоянные спо- Глава 6: Система отслеживания проблем 1 7 5 ры между тестировщикзми и руководителем проекта неизбежны. Например, тестировщик может посчитать ошибку фатальной, в то время как руководитель проекта по каким-либо соображениям на значит ей низкий приоритет. Если не позволить каждому из них зарегистрировать свое мнение и в ходе обсуждения они не придут к единому выводу, то чья оценка должна победить? И почему вообще одна из них должна побеждать? Не проще ли включить в отчет обе оценки и позволить сортировать отчеты по любому из полей: как по полю Степень важности, так и по полю Приоритет. • Считать отложенным. Руководитель проекта может наложить резо люцию, по которой проблема не просто откладывается, а вообще не будет решена (например, Соответствует проекту или Не воспроиз водится). Если тестировщик считает, что к отчету необходимо будет еще вернуться, он может воспользоваться отдельным полем — Счи тать отложенным. Если в этом поле отчета написано Да, он счита ется отложенным и включается во все сводные отчеты об отложенных проблемах. • Комментарии. Для этого поля отчета в базе данных должно быть зарезервировано достаточно места, поскольку оно используется для документирования хода обсуждения проблемы и регистрации раз личных мнений сотрудников. В однопользовательской системе оно излишне, а вот во многопользовательской применяется чрезвычай но активно. С его помощью просто и эффективно решается большая часть коммуникационных проблем. В частности, оно представляет собой своеобразный электронный форум, где тестировщик может рассказать, почему он считает данную проблему исключительно важ ной, программист может показать, насколько рискованно корректи ровать соответствующую часть кода, а руководитель проекта может объяснить, почему нельзя отложить эту проблему до следующего вы пуска. • Пересмотр отложенных отчетов. Мы рекомендуем регулярно про водить совещания для пересмотра отчетов, помеченных как Отложе но и Считать отложенным. Ни один из таких отчетов не должен быть закрыт до того, как он будет рассмотрен на одном из совеща ний. Если между руководителем проекта, тестировщиками, группой технической поддержки, техническими писателями и менеджером по маркетингу остались хоть какие-то разногласия по поводу конкрет ного отчета, все они могут быть улажены в ходе общего обсуждения. Участники совещания обсуждают проблему, ее возможные послед ствия, риск, связанный с исправлением программы, и принимают решение. 1 7 6 Часть II: Приемы и технологии тестирования Решено и Закрыто. Руководитель проекта может посчитать пробле му решенной, если она отложена или программа исправлена, но закрыть отчет вправе только тестировщик. Если речь идет об исправ лении, необходимо еще проверить, правильно ли оно работает, а отложенный отчет должен быть обсужден на соответствующем сове щании. Только автор отчета может его исправить. Большинство людей обижаются, когда кто-нибудь изменяет их отчеты. Но главная при чина указанного правила не в обидах, а в том, что исправление отчета не его автором может привести к серьезным недоразумени ям и разногласиям. Можно добавить в отчет комментарии, можно попросить его автора что-то изменить, но ни в коем случае не сле дует делать этого самостоятельно. И автор отчета может внести предложенные изменения, а может и отказаться — это его право, которое не должен нарушать даже руководитель проекта. Единствен ным исключением из этого правила может быть ситуация, когда отчет предоставлен пользователем или сотрудником, не являющимся членом группы разработки. В этом случае отчет может быть плохо составлен, а его автор заранее готов к тому, что документ будет из менен. Отчеты не должны подвергаться фильтрации. Некоторые ведущие тестировщики не позволяют вводить в базу данных отчеты, с кото рыми они не согласны. Такая фильтрация часто выполняется по приказу или с согласия руководителя проекта. Однако наш опыт показывает, что персонал группы технической поддержки, техничес кие писатели и другие ответственные сотрудники компании могут смотреть на вещи иначе, чем ведущий тестировщик, и при этом их мнение может быть очень полезным. Проектирование продукта — не его работа, и, если предложенные кем-то из сотрудников изменения ему не нравятся, это еще не значит, что предложение не может быть хорошим. Программа изнутри Группа программирования может попросить тестировщиков указывать, в каком модуле находится выявленная ошибка или к какой функциональ ной области программы она относится. Если таких областей 10 или даже 30, это несложно, но если их 50 или 500, задача тестировщика сильно ус ложняется. Чтобы предоставить программистам нужную информацию, придется заглянуть в программный код. Само по себе изучение кода программы для ее отладки полезно. Оно позволяет гораздо быстрее выявить некоторые специфические ошибки. Глава 6: Система отслеживания проблем 177 Если определенный модуль очень плохо написан, его можно полностью переписать. Если обнаружить, что программисты постоянно допускают одни и те же ошибки, руководство может организовать занятия для по вышения их квалификации. Однако собрать всю эту информацию не так просто. Быстро найти ошибку может только программист, занимающийся отладкой данного про граммного продукта. Только он знает, что в каком модуле делается, и толь ко он может точно определить функциональную область, к которой относится выявленная ошибка. Программисты просто не хотят занимать ся документированием этих вопросов для системы отслеживания проблем. Опытные и квалифицированные тестировщики могут довольно точно определять, в каком модуле и в какой функциональной области программы произошла ошибка. Однако не всегда их предположения верны — точный ответ на эти вопросы даст только программист, занимающийся отладкой продукта. Наш опыт показывает, что на выяснение тестировщиками подобной информации тратится неоправданно много времени. Мы рекомендуем предоставить эту работу программистам. Не стоит изучать программный код, собирая информацию для отчета, разве что в особых случаях. Это работа программистов, и они прекрасно с ней справятся и без вашей помощи. Несколько замечаний о форме отчета о проблеме В пятой главе приводилось подробнейшее описание формы отчета о проблеме. Этот раздел содержит несколько полезных советов, которые пригодятся вам при создании собственной системы отслеживания проблем. Если же вы не собираетесь этим заниматься, можете их смело пропустить. • Списки названий, имен и допустимых значений полей отчетов луч ше хранить в виде отдельных файлов данных. При вводе пользова телем данных в поля отчета система должна сразу же проверять их допустимость. Например, это может касаться полей Программа, Функциональная область и т.п. Для некоторых полей можно разре шить значения Неизвестно или ?. Например, знак вопроса можно поставить в поле Версия, если автор отчета не знает точно, в какой версии он обнаружил описанную проблему. Ответ на вопрос Може те ли вы воспроизвести проблемную ситуацию? может записывать ся сокращенно и иметь одно из трех значений: Д, Н, И (Иногда). 178 Часть II: Приемы и технологии тестирования • Для граф отчета Функциональная область и Ответственный в базе данных лучше иметь по два поля. Первое из них длиной от 3 до 5 символов предназначается для ускорения ввода: в него можно вво дить инициалы или аббревиатуру, ассоциированную с полным зна чением, автоматически подставляемым системой во второе поле. Когда приходится вводить по многу отчетов за раз, это очень эко номит время. Поле аббревиатуры можно и пропустить, введя во второе поле полное значение. • При вводе отчета в систему она должна автоматически присваивать полю Резолюция значение Рассматривается. • Никто, кроме тестировщика, не должен иметь право вводить значе ние Закрыто в поле Состояние. По умолчанию этому полю должно присваиваться значение Открыто. Терминология В этом разделе определяются некоторые ключевые термины организа ции баз данных. Система управления базами данных (СУБД) представляет собой набор компьютерных программ, позволяющих определить структу ру базы данных, вводить и редактировать данные и генерировать от четы. Скорее всего, вы выберете для разработки системы отслеживания проблем одну из имеющихся на рынке современных СУБД или средств разработки приложений, обладающих возможно стями работы с базами данных (это может быть Oracle, MS Access, Delphi и т.п.). По отношению к выбранному инструментальному средству ваша система будет приложением, но для пользователей, считая и вас, ее можно назвать СУБД. Файл — это набор информации, которую операционная система хранит вместе под одним именем. База данных может состоять из множества файлов. Вот упрощенный пример организации данных для системы отслеживания проблем. • В главном файле данных хранятся все отчеты о проблемах. Если их очень много, можно разделить их на несколько файлов, воз можно, по типам или датам. • В индексных файлах хранится информация о местоположении каждого отчета в главном файле данных. В одном индексном файле эта информация может быть отсортирована по датам отче тов, в другом по функциональным областям и т.д. Глава 6: Система отслеживания проблем 1 7 9 • Во вспомогательных файлах хранятся перечни допустимых значе ний отдельных полей. Они используются для проверки вводимых данных и для предоставления пользователю возможности выби рать значения полей из списка. Отчеты с недопустимыми данны ми системой отвергаются. Поле — это простейший значимый элемент данных записи. Напри мер, Дата, Приоритет, Резолюция являются полями отчета о пробле ме. Форма (или Форма ввода данных) — это аналог бумажной формы, отображенный на экране компьютера. В форме показано, какая информация и куда должна быть введена. Во многих системах пользователи могут заполнять распечатываемые бумажные формы для последующего ввода данных оператором, а могут вводить ин формацию и самостоятельно. Запись — это логический элемент базы данных. Например, в систе ме отслеживания проблем записью является отчет о проблеме. Отчет — это сводная или итоговая информация, которую можно получить на основе исходных данных. Обычно определение отчета создается один раз с помощью соответствующих инструментальных средств (языка программирования или генератора отчетов), а затем сам отчет формируется периодически или тогда, когда в нем возни кает необходимость. Генераторы отчетов позволяют описывать не только информацию, которая должна быть представлена в отчете, но и ее форматирование — отступы, выделения и т.п. Современные средства позволяют генерировать прекрасно оформленные профес сиональные отчеты, в которых данные представлены в текстовом виде, а также в виде разнообразных диаграмм. В системе отслеживания проблем входные данные также называются отчетами. Эта небольшая путаница не должна вас смущать. Для определенности входные данные в книге обычно называются исход ный отчёт или отчет о проблеме, а выходные — сводный или итого вый отчет. 7 Глава ж Разработка тестов Назначение этой главы Эта глава посвящена р а з р а б о т к е эффективных наборов тестов "черного ящика". • "Черный ящик" против "стеклянного". Хотя в предыдущих разделах и рассказывалось о методах тестирования "стеклянного ящика", данная кни га главным образом посвящена первой технологии. В этой главе подроб но р а с с к а з ы в а е т с я о т о м , в ч е м состоит эта т е х н о л о г и я и к а к анализировать программу в целях разработки наиболее оптимальных и эффективных тестов. • Наборы тестов против плана тестирования. В центре внимания этой главы находятся отдельные тесты и небольшие наборы связанных тестовых при меров. В двенадцатой главе этот рассказ продолжается рассмотрени ем п р о ц е с с а р а з р а б о т к и плана тестирования — н а б о р а т е с т о в , охватывающих всю программу. Но чтобы глубже понять и оценить то, о чем в ней рассказывается, стоит сначала на практике изучить техно логию данной главы и самостоятельно протестировать хотя бы одну про грамму. Упражнения для читателей (и не только для студентов) Выберите для тестирования какую-нибудь программу. Вполне подойдет и коммерческий продукт, создатели которого утверждают, что он полностью протестирован. Весь продукт тестировать не нужно, достаточно выбрать пять полей ввода данных — они обычно имеются в любой программе. Наиболее очевидным выбором м о ж е т быть небольшая база данных, но и текстовый процессор как минимум позволяет ввести размеры отступов, размеры стра ницы документа и другие параметры настройки программы. Особенно хо р о ш о , если м о ж н о вводить такую конфигурационную информацию, как объем памяти, выделяемой для определенной функции программы. Обыч но подобные опции протестированы х у ж е всего, и некоторые их установки могут привести к сбою системы. Поэтому перед экспериментами с памятью, |