Недавно я написал в Панбагоне . Когда я перечитал её через несколько дней, мне показалось, что мораль про «перепутывание активных и пассивных операций», пожалуй, требует некоторых пояснений.
Но начать мне хотелось бы с одной правдивой истории из своей практики.
Однажды мне пришлось выступать в роли независимого арбитра при проведении приёмо-сдаточных испытаний. Заказчик принимал очередную версию системы у разработчика-аутсорсера, и ситуация уже до начала приемо-сдаточных испытаний была достаточно напряжённая. Со стороны заказчика должны были присутствовать специалисты из отдела маркетинга, для которых и была разработана система. «Маркетологи» торопили, требовали поскорее сдать систему, потому что им уже надо. И они даже были готовы мириться с наличием незначительных дефектов в системе. Разработчики тоже стремились сдать систему поскорее, что вполне понятно. Но согласно правилам система должна была успешно пройти приёмо-сдаточные испытания.
Написали программу испытаний, согласовали её со всеми заинтересованными лицами, и начали вот испытания начались. Я в роли независимого арбитра выполняю то, что написано в программе испытаний, а остальные сидят вокруг и смотрят. Разработчики программу испытаний у себя заранее откатали и не беспокоятся за неё. Но представители отдела маркетинга оказались слишком любопытными, они никак не могли понять, почему нельзя отклоняться от написанного сценария, они же «не собираются ничего менять, просто хотят посмотреть, что там», потому время от времени я по их просьбе выполняю некоторые действия, не прописанные в программе испытаний. Да, при отклонениях обнаружились кое-какие дефекты, но все согласны с тем, что это не проблема, дефекты на отклонениях «не считаются». Гроза разразилась в другом месте – после этих отклонений дефекты стали обнаруживаться и на тех сценариях, которые прописаны в программе испытаний! Испытания на грани срыва, дальнейшее выполнение сценариев приводит к появлению всё большего количества дефектов, снежный ком проблем нарастает.
Что делать? Все понимают, что систему надо принять, но ситуация выходит из-под контроля. В этот момент я попросил таймаут, чтобы уточнить правила проведения испытаний.
В результате переговоров были сформулированы и согласованы с обеими сторонами такие правила: все действия разделяются на «активные» и «пассивные», то есть меняющие состояние системы и не меняющие его. Пассивных действий маркетологам разрешалось делать сколько угодно и когда угодно, а активные действия можно было выполнять только те, которые прописаны в программе испытаний. Разработчики быстро разметили все действия на активные и пассивные, испытания начались с самого начала и на этот раз всё завершилось достаточно успешно – несмотря на то, что отклонений было много, все они были пассивными и не приводили к возникновению дефектов на основных сценариях.
Теперь время вернуться к багу в счётчике на форуме.
Существует неявно предполагаемая при тестировании гипотеза о том, что даже если пассивные операции содержат дефекты, они не слишком существенны, и это не влияет на поведение активных операций. Пассивным операциям больше доверия при тестировании.
Моё затруднение состояло в том, что в процессе охоты на этого бага я руководствовался ложным предположением о том, какие операции являются активными, а какие – пассивными. На этом предположении базировалась ментальная модель «правильного» поведения системы, которую я использовал при тестировании.
И ключевым моментом было осознание ложности этой гипотезы. Я доверял операции просмотра содержимого папки, полагая её пассивной, а она обманула моё доверие.
Коллеги, будьте бдительны!
Честно говоря, непонятно зачем тогда вообще необходимо независимое тестирование. Чтобы всё по-взрослому было? ;) Очень странный подход имхо.
Нет, ну конечно всегда хорошо иметь актуальную баго-информацию о продукте, но Маркетологам, это не особо важно было, судя по всему.
Не путайте «приёмо-сдаточные испытания» и «независимое тестирование». При ПСИ нет цели получить «актуальную баго-информацию».
Выполнялись ПСИ, потому что заказчик таки хотел убедиться, что основная функциональность работает и систему можно ставить в эксплуатацию, при этом он был готов смириться с наличием дефектов в неосновной функциональности. Так бывает, поверьте.
Согласно регламенту разработчик не имел права выполнять испытания. Ну, требования такие, политика. Маркетологи в принципе могли бы сами выполнять, но функциональность была для них новая, потому испытания шли бы очень медленно.
А мне система была достаточно хорошо знакома, потому что хотя мы непосредственно её не тестировали, мы уже видели новый функционал, когда тестировали смежные системы. Вот так и получилось, что я там оказался.
Комментарии (3)
RSS свернуть / развернутьЧестно говоря, непонятно зачем тогда вообще необходимо независимое тестирование. Чтобы всё по-взрослому было? ;) Очень странный подход имхо.
Нет, ну конечно всегда хорошо иметь актуальную баго-информацию о продукте, но Маркетологам, это не особо важно было, судя по всему.
Self
Выполнялись ПСИ, потому что заказчик таки хотел убедиться, что основная функциональность работает и систему можно ставить в эксплуатацию, при этом он был готов смириться с наличием дефектов в неосновной функциональности. Так бывает, поверьте.
Согласно регламенту разработчик не имел права выполнять испытания. Ну, требования такие, политика. Маркетологи в принципе могли бы сами выполнять, но функциональность была для них новая, потому испытания шли бы очень медленно.
А мне система была достаточно хорошо знакома, потому что хотя мы непосредственно её не тестировали, мы уже видели новый функционал, когда тестировали смежные системы. Вот так и получилось, что я там оказался.
barancev
Felix
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.