Спектр услуг группы тестирования компании INTERFACE

Горелиц Н.

 

 

 

 

 

 

 

Оглавление

Коротко о тестировании. 2

1.      Цели и задачи. 2

2.      Основные преимущества автоматизированного тестирования. 3

3.      Основные недостатки автоматизированного тестирования. 3

4.      Место тестирования в процессе разработки ПО.. 4

5.      Градация по типам (крупно). 4

Типы предоставляемых услуг. 5

1.      Перечень. 5

Коротко о тестировании

1.     Цели и задачи

Тестирование - один из важнейших этапов  контроля качества разрабатываемого ПО. 

Автоматическое тестирование является его составной частью. Оно использует программное обеспечение для проверки выполнения проводимых тестов, что помогает в большинстве случаев сократить время тестирования иупростить его процесс.

Когда стоит начинать автоматизированное тестирование, чтобы оно принесло пользу проекту?

q  Возможно ли?

q  Есть что автоматизировать

q  Есть тест план

q  Написаны тесты для ручного тестирования

q  Есть инструмент для автоматизированного тестирования

q  Выгодно ли?

q  Просчитана величина реальной пользы от внедрения автоматизированного тестирования

q  Есть необходимость автоматизированного тестирования (требование заказчика, состояние проекта)

Глен Маерс: Тестирование это процесс выполнения программ с намерением найти ошибки

Пол Йоргенсен: Тестирование сфокусировано на ошибках и сбоях. Тест - выполнение действий над ПО с целью найти ошибки или продемонстрировать работоспособность

Обобщенное определение тестирования

q  Тестирование - процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности

Задачи автоматизации процесса тестирования:

q  Процесс автоматизации функционального тестирования программного обеспечения обеспечивает получение прямых финансовых выгод за счет экономии ресурсов, а также повышение качества выполняемых работ по тестированию ПО

Цели автоматизации процесса тестирования:

q  Процесс автоматизации функционального тестирования программного обеспечения обеспечивает получение прямых финансовых выгод за счет экономии ресурсов, а также повышение качества выполняемых работ по тестированию ПО

q  Автоматизированное тестирование ПО позволяет разработчикам применять подходы, известные им по задачам разработки, для решения вопросов тестирования

q  Проектным менеджерам автоматизация тестирования дает инструмент для интеграции специалистов заказчика в процесс приемочного тестирования и приемки продукта

2.     Основные преимущества автоматизированного тестирования

a.       Возможность непрерывного/циклического выполнения тестов

b.      Строгая последовательность выполняемых шагов

c.       Увеличение производительности в сравнении с ручным тестированием в разы

d.      Автоматизация длинных последовательностей

e.      Автоматизация операций, требующих тяжелых вычислений

3.     Основные недостатки автоматизированного тестирования

a.       Требуют достаточно времени для создания скриптов  (не всегда оправдываются)

b.      Необходимость постоянного сопровождения (обновления) тестов

c.       Тесты выполняют запрограммированную  последовательность  действий, они не имеют интеллекта

4.     Место тестирования в процессе разработки ПО

5.     Градация по типам (крупно)

a.       По знанию системы

                                                               i.      Черный ящик

                                                             ii.      Серый ящик

                                                            iii.      Белый ящик

b.      По степени детализации

                                                           iv.      Модульное

                                                             v.      Интеграционное

                                                           vi.      Системное

c.       По объекту

                                                          vii.      Функциональное

                                                        viii.      Производительность

                                                           ix.      Безопасность

                                                             x.      Юзабилити

d.      По степени автоматизации

                                                           xi.      Ручное

                                                          xii.      автоматизированное

e.      В связи с изменениями

                                                        xiii.      Регрессионное

                                                        xiv.      Санитарное

Типы предоставляемых услуг

1.     Перечень

a.       Независимое тестирование

b.      Функциональное тестирование

c.       Тестирование удобства использования

d.      Тестирование безопасности

e.      Тестирование совместимости

f.        Тестирование вручную

g.       Автоматизированное тестирование

h.      Тестирование производительности

i.         Тестирование платформы

j.        Тестирование интеграции

k.       Услуги по консалтингу

l.         Услуги по обучению

2.     Подробней о каждой услуге

Название услуги

Результат

Независимое тестирование

Комплексный аутсорсинг тестирования программного обеспечения вместе с услугами проверки и контроля тестирования, оптимизации важнейших мероприятий качества от функционального контроля для тестирования, управления дефектами и тестирования бизнес-потоков.

Функциональное тестирование

Оценка соответствия функциональности продукта заявленной в требованиях к нему.

1)      Понимание функциональности

2)      Разработка тестов

3)      Исполнение тестов

Тестирование удобства использования

Оценка удобства обращения с продуктом с точки зрения конечного пользователя - прозрачность и дружественность интерфейса и т.д.

Тестирование безопасности

Оценка безопасности работы с продуктом с точки зрения отсутствия потерь данных, устойчивости к программным и аппаратным сбоям, "защиты от дурака", защиты от взлома и т.д.

Тестирование совместимости

Оценка корректности работы продукта в случае различных конфигураций оборудования, операционных систем/платформ, сетевых сред, периферийных элементов (принтеры, Zip диски, USB и т.д.), ПО сторонних производителей (браузеры, брандмауэры, сети, мультимедиа плагины и т.д.)

Тестирование вручную

Тестирование Client-Server приложений

Тестирование веб-приложений

Тестирование приложений рабочего стола

Подготовка тестовых сценариев с использованием распространенных техник тестирования, таких как:

  • Методики с использованием графов (Каждое приложение состоит из нескольких объектов. Все эти объекты выявляются, и составляется граф. По такому графу определяются взаимосвязи между всеми объектам, и в соответствии с этим пишутся тест кейсы для выявления ошибок.)
  • Угадывание ошибок (Такая методика полностью основана на опыте тестировщика и его мышлении. Угадывание ошибок - это искусство. Для этой методики нет специальных инструментов, которые покрыли бы все пути приложения.)
  • Анализ граничных значений (Ошибки во многих системах возникают при работе с граничными значениями, поэтому важно тестировать граничные значения в приложении. Анализ граничных значений (Boundary Value Analysis/BVA) относится к методикам функционального тестирования. Для такого анализа выбирают предельные граничные значения. Граничные значения бывают максимальные, минимальные, только для внутренних/внешних границ, типичные значения и ошибочные значения.)
  • Тестирование классов эквивалентности (Эквивалентное разбиение - методика тестирования черного ящика, когда набор вводимых в программу значений разделяется на классы данных, из которых можно получить тест кейсы.)
  • Сравнительное тестирование (В этой методике различные независимые версии одинакового ПО используются для сравнения друг с другом.)

Разработка стратегий тестирования и планов тестирования

Выполнение написанных вручную функциональных тестов

Отслеживание дефектов

Регрессионное тестирование

Автоматизированное тестирование

Особенности:

1)      Снижение затрат на выпуск новых релизов

2)      Снижение операционных затрат на проведение тестирования системы

3)      Гибкость в рамках подключения новых тестов в тестовые скрипты

4)      Легкость внесения изменений в существующие сценарии

5)      Легкость запуска конечным пользователем через облегчение выбора скриптов для исполнения

6)      Создание нормализованных скриптов приводит к повторному использованию тестовых скриптов, уменьшая избыточность и сохраняя время.

Тестирование производительности

Оценка соответствия реальной производительности продукта заявленной в требованиях к нему.

Возможные варианты тестов:

  • Определение общей производительности системы
  • Определение максимальной загрузки системы
  • Обнаружение узких мест, ограничивающих возможности системы
  • Кратковременная загрузка мощностей инфраструктуры,  определение поведения системы в критических ситуациях: при 100% нагрузке и выше

Тестирование платформы

Тестирование соответствия продукта заявленным в требованиях платформам: оценка правильной работы функционала в условиях разных платформ, таких как

  • MAC Os
  • Linux
  • Windows Platform
  • Solaris
  • AIX
  • HP-UX

Тестирование интеграции

Тестирование интеграции продукта с необходимыми Заказчику средами и сторонними продуктами. Оценивается степень успешности интеграции, легкость ее осуществления и отсутствие потерь передачи данных и функциональности. Подходы:

  • Снизу вверх
  • Сверху вниз
  • Подход большого взрыва
  • Обеспечение интеграции между двумя модулями или приложениями

Услуги по консалтингу

Разработка стратегии тестирования для конкретных задач Заказчика, включая детализированные планы тестирования, разные виды тестирования, необходимые в каждом конкретном случае, разнообразные инструменты тестирования.

Услуги по обучению

Внедрение процессов управления качеством, регрессионного, автоматизированного и других тестирований и проведение демонстраций и обучающих семинаров для персонала Заказчика.

Партнеры, продукты и технологии (IBM, HP, Borland и пр)

1.     Управление тестированием

  • Rational TestManager (IBM),
  • Quality Center (HP),
  • Rational ClearCase (IBM),
  • Rational Quality Manager (IBM)
  • ….

2.     Средства автоматизации тестирования

  • HP Quick Test Professional,
  • Mercury Win Runner,
  • Mercury Load Runner,
  • NUnit for .NET,
  • JUnit for Java,
  • QF Test,
  • Selenium IDE,
  • Test Complete.
  • …..

3.     Работа с дефектами - обнаружение, контроль, анализ

  • Rational ClearQuest (IBM),
  • PVCS Tracker,
  • Mantis BT,
  • Bugzilla,
  • Scarab.
  • ….

4.     Инструменты версионного контроля

  • Visual Source Safe (VSS),
  • Version Control System (CVS)
  • ….

5.     Нагрузочное тестирование

  • LoadRunner (HP),
  • Rational TeamTest (IBM),
  • QALoad (Compuware),
  •  SilkPerformer (Borland),
  •  WebLOAD (RadView),
  • JMeter,
  • OpenSTA,
  • Web Application Stress (WAS) Tool,
  • ANTS Load,
  • WAPT,
  • Microsoft Application Center Test,
  • Code Smith Code Generator for .NET.
  • ….

6.     Регрессионное тестирование

·         WinRunner (HP),

·         QuickTest Professional (HP),

·         Rational TeamTest (IBM),

·         SilkTest (Borland),

·         TestComplete (AutomatedQA),

·         TestPartner (Compuware),

·         Test Coverage - Jester,

·         PurifyPlus (IBM).

·         ….

7.     Инструменты обзора кода

  • .NET FxCop,
  • Eclipse Plugins for Java code review,
  • JProfiler for Java Code Profiling,
  • .NET Memory Optimization tools,
  • Rational Purify and Valgrind for C++ code reviews,
  • Code Smith Code Generator for .NET.
  • ….

Средства отладки - специальные платформы отладочных инструментов, как Eclipse и NetBeans

Системы, подходящие для тестирования - Java, Web, SAP, Siebel, Сервисы и другие

8.     Сравнение некоторых продуктов тестирования

Критерии

QuckTestPro

IBM Rational Functional Tester

TestComplete

Selenium RC

Поддерживаемые Браузеры

 Firefox                                                     
 Internet Explorer
Netscape Browser

Internet Explorer
Mozilla Firefox

Internet Explorer

Mozilla Firefox

Netscape Navigator ver. (limited)

*firefox               *IE
*opera                 *netscape
*conqueror       *safari
*seamonkey     *omniweb
*camino

Поддерживаемые платформы

Windows

Linux                                             Windows

Windows

Windows
Unix
MacOS

Поддерживаемые приложения

web services,Windows applications, web (Internet Explorer, Firefox,Netscape), .NET, Java™/J2EE, SAP, Siebel, Oracle®, PeopleSoft, VB, ActiveX, mainframe terminal emulators and Macromedia Flex.

Web-based, .Net, Java, terminal emulator based applications such as 3270 (zSeries™) and 5250 (iSeries™), PowerBuilder, AJAX, Adobe Flex, Dojo Toolkit, Siebel, and SAP® applications

.NET, Java, Visual C++, Visual Basic, Delphi, C++Builder and web applications.

Web-based applications

Явные приемущества

Лёгок в изучении, много документации

Функционально богат

Чрезвычайно масштабируемый.

Богатая поддержка языков (VBScript, JScript, C ++)

Богатая поддержка языков и платформ

Средняя стоимость

20000 $

6000 $

Enterprise per named user:                 1999$

Standard per named user:            999$

Enterprise per floating user: 4499$

Standard per floating user:                 2999$

Бесплатная

  

 

 

 

 

 

 

 

 

 

     Forrester 2006                                                                                         Forrester 2008,            

Средство тестирования

Тестирование пользовательского интерфейса

Нагрузочное тестирование клиента

Нагрузочное тестирования базы данных

Тестирование Web-клиента

Нагрузочное тестирование Web-сервера

План тестирования

Отслеживание ошибок

Методология

Прямой доступ к данным

QACenter

+

+

+

 

 

+

+

+

+

AutoTester

+

+

 

 

 

+

 

 

 

HP

+

+

+

+

+

+

 

 

+

Platinum

+

 

 

+

+

 

 

 

+

Performance Awareness

+

+

+

 

+

 

 

 

 

Pure Atria

 

+

+

 

+

+

+

 

 

Borland Software

+

 

+

+

 

+

+

 

+

SQA

+

+

 

 

 

+

+

+

 

IBM

?

?

?

?

?

?

?

?

?

 

 

Используемые методики и стандарты

1.       RUP (в части процесса тестирования)

2.       ITIL/ITSM (в части процесса управления изменениями)

3.       IEEE 829 (в части документации)

4.       ISO 12207 (в части процесса разработки, процесса эксплуатации)

5.       ISO 20000 (в части процедуры проверки и приемки релиза)

6.       PMBoK (в части процесса управления качеством)

7.       COBIT (в части процесса внедрения и приемки решений и изменений)

8.       CMMI (в части процесса валидации и процесса верификации)


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=38283