Lecture 3 1/20/2016 5:12:00 PM Тестирование – этап разработки ПО. Фазы тестирования. Планирование тестов. Анализ тестов. Проектирование тестов. Исполнение тестов. Фазы исполнения тестов. Проведение тестирования. Ранее мы выявили, что Тестирование - это процесс, целью которого является выявление качества продукта, т.е. соответствие продукта заявленным требованиям. Наиболее заметным процессом тестирования является исполнение тестов – выполнение тестовых сценариев. Помимо этого необходимо проанализировать тесты, подготовить необходимый материал для тестов и определиться с критерием окончания тестов. Очень сложно проводить тесты без решения того как, когда и что тестить. Стадии процесса тестирования Для этого в процесс тестирования включены следующие стадии: 1. Test planning and control 2. Test analysis and design 3. Test implementation and execution 4. Evaluating exit criteria and reporting 5. Test closure activities Несмотря на то, что эти стадии идут в строгой последовательности она не всегда строго соблюдается. Test planning and control Test analysis and design Test implementation and execution Evaluating exit criteria and reporting Test closure activities 1. Test planning and control Планирование (planning) - это определение того, что должно быть протестировано и того, как этого достичь. Определяется какие именно задачи нужно выполнить и кто будет за это отвечать. Помимо этих целей во время планирования определяется completion criteria. Основные цели планирования: Определение областей и целей тестирования Определение подхода тестирования (объектов тестирования, рисков) Планирование анализа результатов Планирование времени исполнения заданий Определние выходного критерия 1 Lecture 3 1/20/2016 5:12:00 PM Контроль (control) – это определение того, что должно быть сделано, если исполняемые задачи не совпадают с планом. Контроль осуществляется на протяжении всего тестирования – сравнивается прогресс тестирования в с планом. Цели контроля: Анализ результатов Сравнение текущего прогресса выполнения тестов с запланированым Исправление ошибок, если тестирование пошло не по плану 2. Test analysis and design Стадия Test analysis and design – cвязующая стадия между планированием тестов и исполнением тестов. На этой стадии происходит детальное определение того, что должно быть протестировано и выбор наименьшего списка тест кейсов, которое удовлетворяет заданым целям. Во внимание принимаются части определённые в planning (даты, люди, области тестирования). На этой стадии до начала самого тестирования выявляются expected results. - изучение требований к продукту, архитектуры, интерфейса - анализ тестируемых компонентов, спецификаций - создание тестов - определение степени готовности реквайрементов 3. Test implementation and execution Эта стадия подразумивает исполнение тестов. Также подразумивается проверка готовности среды тестирования к работе. Тестирование – самая видная стадия процесса, но она невозможна без других стадий процесса тестирования. Например, первыми должны выполняться самые важные тесты. Как определить, какой тест самый важный без стадии планирования? Во время исполнения тестов производится сравнение между полученым и ожидаемым результатом. В случае несовпадения необходимо произвести исследование поведения и вероятно залогировать баг. Надо отметить, что не всегда при наблюдении какого-то неожиданого поведения необходимо что-то исправлять или чинить. Test implementation and execution обычно включает следующие части: Создание кейсов, подготовка данных необходимых для тестирования, подготовка автоматических инструментов Проверка среды тестирования на готовность Исполнение тестов (ручное или автоматическое тестирование) Сохранение результатов тестирования (статусов, версий компонентов и т.п.) Сравнение полученых и ожидаемых результатов 4. Evaluating exit criteria and reporting Выходной критерий определяется на стадии планирования, до начала исполнения тестов. По окончанию исполнения тестов менеджер проверяет, если результаты соответсвуют критериям. Например, если критерием было покрытие в 85% от общего а в результате было покрыто 75%, то есть два выхода – продолжить тестирование или изменить выходной критерий. Таким образом выявляются следующие цели этой стадии: Определение соответствия выходному критерию Определение необходимости прогона дополнительных тестов Создание репортов по результатам тестирования 2 Lecture 3 1/20/2016 5:12:00 PM 5. Test closure activities На этой стадии тестирование закончивается. На этой стадии необходимо убедиться, что все баги в нужном статусе, написаны репорты, все тесты завершены. Выявляются замечания для будущих тестов, которые могли бы улучшить процесс. Test planning Guide lines for structuring the test plan – standard [IEEE 829] ("Institute of Electrical and Electronics Engineers."): 1. Test plan identifier Specify uniquely the name and version of the test plan. 2. Introduction The introduction should give a short summary of the project background. It should help the people involved in the project (customer, management, developer) to better understand the contents of the plan. List of documents used, policies, standards (company, project standards) 3. Test items This section should contain a short overview of the parts and components of the product to be tested. Identify the test items including their version/revision level. 4. Features to be tested Should identify all functions of the system, which should be tested. Test levels and list of specifications to be covered. 5. Features not to be tested It should be defined which aspects of the product will or cannot be tested. (This may be due to resources limitations or technical reasons). There may also be different levels of testing for different features. Note: at the start of the project the list here will be incomplete. 6. Approach Described the test objectives, if possible based on the risk analysis. From this it can be derived which tests must be executed and which are more or less important. Choose and describe the test methods to be used. It must be clearly visible, if and why the chosen methods are able to achieve the test objectives Methods: o Manual/Automatic o Scripts to be created/ automated tools to be created o Recovery tests o System tests o Security tests o Stress test o User acceptance tests o Etc… 7. Item pass/fail criteria (test exit criteria) (aka Acceptance Criteria) Acceptance criteria is required to define if the test object can be released (ready) and delivered (may mean “transfer to the next test level” Criterion “defect free” – useless criterion. For example: at least 90% of the planned tests are executed correctly and no Sev-1 problems (crashes) have been found. 8. Suspension criteria and resumption requirements Criteria to indicate a suspension or termination of the tests. 3 Lecture 3 1/20/2016 5:12:00 PM Ex: the test object is in a such a bad shape that it has no chance to be accepted. In this case the object is returned to devs without further testing. (Usually revealed during Smoke tests) 9. Test deliverables Which data and results delivery form: reports, bugs logging 10. Testing tasks List of tasks necessary for the planning and execution of the tests, including assignment and responsibilities. The status of the tasks (open, in progress, delayed, done) 11. Environmental needs Elements of the infrastructure necessary to execute planned tests. Test platforms, tester work places and their equipment, development environment. E-mail, Internet 12. Responsibilities Which people have which tasks? Who has what authority and responsibility? Which people have which tasks 13. Staffing and training needs This section specifies the staffing needs (roles, capacity and when they are needed). Includes not only the testing personnel, but should also include developers, consultants. Training required if needed. 14. Schedule An overall schedule for the test activities with the major milestones. The project manager must react on test results and, if necessary, delay milestones 15. Risk and contingencies Risks within the testing project itself. Ex: smth. Remains out of scope due to lack of resources or limited coverage. Delays in development Lack of qualified or other key personnel 16. Approvals List of people or organizations that approve the test plan, review it or at least should be informed about it. Approve of the resources usage. 4