|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Private double вычИзменение(){ double изменение = 0; if (егоПосещения.size() > 0) { ПосещениеКафе первоеПосещение = (ПосещениеКафе) егоПосещения.get(0); ПосещениеКафе последнееПосещение = (ПосещениеКафе) егоПосещения.get;(егоПосещения.sizе() - 1); double первыйЗамер = первоеПосещение.получитьВес(); double последнийЗамер = последнееПосещение. получитьВес(); изменение = последнийЗамер - первыйЗамер; } return изменение; } После очередного запуска тестов переместим условия в главном методе создатьОтчет и подчистим лишние места. Листинг 16.23. Лакомка.java public Отчет создатьОтчет() { double изменение = вычИзменение(); double потреблениеБулочек = вычПотреблениеБулочек(); double общаяСтоимость = вычОбщуюСтоимость(); double wpb = 0; if (потреблениеБулочек > 0) wpb = изменение / потреблениеБулочек; Отчет г = new Отчет (); r.устВесНаБулочку(wpb); r.устИзменениеВеса(изменение); r.устСтоимостьБулочек(общаяСтоимость); r.устПотреблениеБулочек(потреблениеБулочек); return r; } private double вычИзменение() { double изменение = 0; if (eroПосещения.size() > 1) { ПосещениеКафе первоеПосещение = (ПосещениеКафе) егоПосещения.get(0); ПосещениеКафе последнееПосещение = (ПосещениеКафе) егоПосещения.get(егоПосещения.size() - 1); double первыйЗамер = первоеПосещение.получитьВес(0; double последнийЗамер = последнееПосещение. получитьВес(); изменение = последнийЗамер – первыйЗамер; } return изменение; } private double вычОбщуюСтоимость() { double общаяСтоимость =0; for (int i= 0; i < егоПосещения.size(); i++); { ПосещениеКафе v = (ПосещениеКафе) егоПосещения.get(i); общаяСтоимость += v.получитьСтоимость(); } return общаяСтоимость; } private double вычПотреблениеБулочек() { double потреблениеБулочек = 0; if (егоПосещения.size() > 1) { for (int i = 1; i < егоПосещения.size(); i++) { ПосещениеКафе v = (ПосещениеКафе) егоПосещения.get(i); потреблениеБулочек += v.получитьБулочки(); } } return потреблениеБулочек; } После окончательного прогона тестов констатируем, что цель достигнута — код стал компактным и понятным, обязанности разнесены по отдельным функциям. Таким образом, в рассмотренном подходе программа считается завершенной не тогда, когда она заработала, а когда она стала максимально простой и ясной. Контрольные вопросы
1. Что такое CRC-карта? Как ее применить для тестирования визуальных моделей? 2. Поясните особенности тестирования объектно-ориентированных модулей. 3. В чем состоит суть методики тестирования интеграции объектно-ориентированных систем, основанной на потоках? 4. Поясните содержание методики тестирования интеграции объектно-ориентированных систем, основанной на использовании. 5. В чем заключаются особенности объектно-ориентированного тестирования правильности? 6. К чему приводит учет инкапсуляции, полиморфизма и наследования при проектировании тестовых вариантов? 7. Поясните содержание тестирования, основанного на ошибках. 8. Поясните содержание тестирования, основанного на сценариях. 9. Чем отличается тестирование поверхностной структуры от тестирования глубинной структуры системы? 10. В чем состоит стохастическое тестирование класса? 11. Охарактеризуйте тестирование разбиений на уровне классов. Как в этом случае получить категории разбиения? 12. Поясните на примере разбиение на категории по состояниям. 13. Приведите пример разбиения на категории по свойствам. 14. Перечислите известные вам методы тестирования взаимодействия классов. Поясните их содержание. 15. Приведите пример стохастического тестирования взаимодействия классов. 16. Приведите пример тестирования взаимодействия классов путем разбиений. 17. Приведите пример тестирования взаимодействия классов на основе состояний. В чем заключается особенность методики «преимущественно в ширину»? 18. Поясните суть предваряющего тестирования. 19. Какую роль в процессе экстремальной разработки играет рефакторинг? Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |