Экстремальное программирование. Разработка через тестирование



Download 1,35 Mb.
Pdf ko'rish
bet68/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   64   65   66   67   68   69   70   71   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

Рис. 25.1.
Зловещая спираль «нет времени д ля тестирования»
Что происход ит, когд а уровень стресса возрастает?
Чем больший стресс вы ощущаете, тем меньше вы тестируете
разрабатываемый код . Чем меньше вы тестируете разрабатываемый код ,
тем больше ошибок вы д опускаете. Чем больше ошибок вы д опускаете,
тем выше уровень стресса, который вы ощущаете. Получается
замкнутый круг с положительной обратной связью: ро ст стресса
привод ит к ро сту стресса.
Что над о сд елать, чтобы разорвать этот зловещий цикл?
Необход имо либо д обавить новый элемент, либо заменить од ин из
элементов, либо изменить стрелки. Попробуем заменить «тестирование»
на «автоматическое тестирование».
«Я только что внес в код изменение. Нарушил ли я тем самым его
работо спо собно сть?» Рисунок 25.1 показывает д инамику в д ействии.
При использовании автоматического тестирования, когд а я начинаю
ощущать стресс, я запускаю тесты. Тесты превращают страх в скуку.
«Нет, я ничего не сломал. Тесты по-прежнему показывают зеленую
поло су.» Чем больший стресс я ощущаю, тем чаще я запускаю тесты.
Выполнив тесты, я успокаиваюсь. Когд а я спокоен, я д опускаю меньше
ошибок, а это вед ет к снижению уровня стресса.
«Да поймите же вы, что у нас нет времени на тестирование!» –
теперь эта жалоба перестает быть актуальной, так как выполнение
автоматического тестирования почти не требует времени. Компьютер
выполняет тестирование значительно быстрее, чем человек. Если вы не
выполняете тестирования, вы опасаетесь за корректно сть код а.
Используя автоматическое тестирование, вы можете выбирать уд обный
д ля вас уровень страха.


Должны ли вы запустить тест сразу же по сле его написания, д аже
если вы полно стью уверены, что он не сработает? Конечно, вы можете
этого не д елать. Но… Привед у поучительный пример. Некоторое время
назад я работал с д вумя очень умными молод ыми программистами над
реализацией транзакций, выполняемых внутри оперативной памяти (это
чрезвычайно мощная технология, под д ержка которой д олжна быть
д обавлена во все современные языки программирования). Перед нами
встал вопро с: как реализовать откат транзакции, если начали выполнение
транзакции, затем изменили значение нескольких переменных, а затем
нарушили ее выполнение (транзакция была уничтожена сборщиком
мусора)? 
До статочно 
про сто, 
чтобы 
проверить 
спо собно сти
малоопытных разработчиков. Отойд ите в сторону и смотрите, как
работает мастер. Вот тест. Теперь под умаем над тем, как заставить его
работать. Мы приступили к написанию код а.
Прошло 
д ва 
часа. 
Два 
часа, 
заполненных 
мучениями 
и
разочарованиями (в большинстве случаев при возникновении ошибки
сред а разработки д авала фатальный сбой и ее приход ило сь
перезапускать). Испробовав множество метод ов решения проблемы, мы
отменили все изменения в код е, во сстановили изначальное со стояние
системы и вернулись к тому, с чего начали: заново написали тот самый
тест. На уд ачу запустили его. Он успешно выполнился. Это было
потрясение… Оказало сь, что механизм под д ержки транзакций на самом
д еле не менял значений переменных, пока транзакция не считалась
полно стью выполненной. Над еюсь, теперь вы сами решите д ля себя,
нужно ли вам запускать тесты сразу же по сле их написания.

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   64   65   66   67   68   69   70   71   ...   140




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish