Александр Герасёв / Александр Петров, 3 курс, mod-sem

На этом форуме публикуются и уточняются постановки задач студентам, а также отслеживается ход их выполнения

Модератор: staff

Закрыто
Бычков Иван
Аспирант
Сообщения: 179
Зарегистрирован: 23 сен 2008 01:19 pm

Александр Герасёв / Александр Петров, 3 курс, mod-sem

Сообщение Бычков Иван »

Тема работы
Разработка средства автоматического тестирования графического интерфейса пользователя для Qt/X11.

Расшифровка темы и актуальность
В области тестирования ПО отдельно рассматривают задачу тестирования графического интерфейса пользователя (GUI). Это связано с тем, что в качестве входных данных GUI принимает воздействия пользователя: нажатия клавиш и кнопок мыши и движение курсора мыши. При проведении тестирования, в простейшем случае, человек воспроизводит некоторые действия в соответствии с тест-планом и оценивает полученный результат.
Для автоматизации этого процесса используют специальные инструментальные пакеты. При помощи одного инструмента сохраняется трасса взаимодействия пользователя с инструментом, а при помощи второго эта трасса "воспроизводится" таким образом, что приложение получает ввод до какой-то степени эквивалентный вводу получаемому от действий пользователя. Для среды Qt/X11 существует несколько таких средств, но отстутствуют свободные.

Цель работы
Целью курсовой является обзор методов и средств автоматического тестирования GUI и создание открытого инструмента (возможно доработка существующего, если такое будет найдено). Достаточно важным аспектом работы должна быть аппробация средства на реальном примере (один из инструментов стенда)

Примерный план работы
1.Знакомство с предметной областью.
а)Библиотека Qt
b)Динамическая линковка в линукс
с)Задача тестирования ПО и GUI
2.Обзор методов и систем автоматического тестирования (для Qt/X11?).
a)Цели
b)Критерии
c)Обзор
d)Выводы
3.Методы создания трассировщика и прокликивателя (описание возможных вариантов, сравнение, выбор).
4.Реализация.
5.Аппробация на одном из инструментов стенда.
6.(Optional) Написание методики тестирования с использованием созданного средства.
Александр Петров
Выпускник
Сообщения: 2
Зарегистрирован: 14 сен 2008 01:50 am

Сообщение Александр Петров »

Отчет о научной работе за 5-й семестр
Петров Александр Владимирович, группа № 322
научный руководитель Александр Витальевич Герасёв

1.Постановка задачи

Разработать средство автоматизированного тестирования графических интерфейсов на основе библиотеки Qt/X11

Примечание: Под Qt/X11 понимается ветка библиотеки Qt предназначенная для работы в среде X Window System.

Похожие средства существуют для многих инструментариев для разработки графических интерфейсов, однако для Qt/X11 существуют только коммерческие разработки. Разрабатываемое средство необходимо:
Для облегчения задачи тестирования графического интерфейса.
Ввиду отсутствия свободной реализации подобного средства
Для получения возможности выступать в качестве пользователя приложения не человека, а машины


Для решения этой задачи необходимо решить следующие подзадачи:
Исследовать существующие средства тестирования графических интерфесов
Понять каким требованиям должно отвечать разрабатываемое средство.
Исследовать методы построения средств тестирования графических интерфейсов
Разработать архитектуру программы
Реализовать программу
Апробировать средство тестирования на одном из проектов лаборатории.

2.Что сделано

Изучена общая архитектура библиотеки Qt 4, способ её реакции на действия пользователя.
Изучены существующие средства тестирования графических интерфейсов, их возможности, плюсы и недостатки, подготовлен обзор существующих средств тестирования
Изучены возможные методы тестирования, их достоинства и недостатки, подготовлен обзор.
Исследованы существующие наработки по задаче, сделан выбор в пользу добавления в одно из существующих открытых средств тестирования(Linux Desktop Testing Project, ldtp) поддержки Qt/X11
Изучена архитектура ldtp, подготовлено описание архитектуры.
Установлена связь с разработчиками ldtp
Подготовлено описание Gnome Accessibility — библиотек atk и at-spi, базовых для ldtp.
3. Дальнейшая работа
Подключиться к разработке моста QtAccessibility — AT-SPI
Реализовать недостающую функциональность ldtp
Апробировать на одном из проектов на лаборатории

4. Использованные материалы

1.Qt 4: программирование GUI на C++, Жасмин Бланшет, Марк Саммерфилд, Кудиц-Пресс 2007, ISBN 978-5-914136-038-2
2.Qt Reference Documentation, Nokia Corporation 2008
http://doc.trolltech.com/4.4/
3.LDTP tutorial, Nagappan A, 2008
http://download.freedesktop.org/ldtp/do ... torial.pdf
4.Bridging Between the Two Architectures, kde accessibility developer team, 2008
http://accessibility.kde.org/developer/bridge.php
5.KDE And Assistive Technologies, kde accessibility developer team, 2008
http://accessibility.kde.org/developer/introduction.php
6.Ideas of kde accessibility framework, kde accessibility developer team, 2008
http://accessibility.kde.org/developer/kdea11y.php
7.GNOME Accessibility Architecture (ATK and AT-SPI), kde accessibility developer team, 2008
http://accessibility.kde.org/developer/atk.php
8.Trolltech accessibility blog, 2007
http://labs.trolltech.com/blogs/category/accessibility
9.Accessibility/ATK/AT-SPI/AT-SPI on D-Bus, Linux Foundation
http://www.linuxfoundation.org/en/Acces ... I_on_D-Bus
10.Dbus Tutorial, Havoc Pennington, David Wheeler, John Palmieri, Colin Walters, Red Hat inc.
http://dbus.freedesktop.org/doc/dbus-tutorial.html
Александр Шалимов
Аспирант
Сообщения: 37
Зарегистрирован: 15 окт 2004 12:00 am

Сообщение Александр Шалимов »

Александр, вопросы
Александр Петров писал(а):Понять каким требованиям должно отвечать разрабатываемое средство.
Было понято?

Какие цели были у подготовленных обзоров?
Исследованы существующие наработки по задаче
Что является результатом выполнения данного пункта?
Александр Петров
Выпускник
Сообщения: 2
Зарегистрирован: 14 сен 2008 01:50 am

Сообщение Александр Петров »

Шалимов Александр писал(а):Александр, вопросы
Александр Петров писал(а):Понять каким требованиям должно отвечать разрабатываемое средство.
Было понято?
Фактически для этой цели были изучены средства тестирования интерфейсов. В результате список требований получился примерно такой:
1) средство должно иметь возможность получать доступ к элементам графического интерфейса, т. е. запускать действия (типа кликнуть мышкой), получить содержимое(например текстовое)
2) должен быть какой-то скриптовый язык для описания теста. т. е.
3)должно существовать средство для записи трассы, т. е. автоматический генератор скрипта по действиям пользователя.

В каком-то виде все это есть во всех изученных средствах тестирования.
Какие цели были у подготовленных обзоров?
Обзор средств и методов необходим для обоснования выбора конкретного метода тестирования, а так же выбора средства для доработки
Исследованы существующие наработки по задаче
Что является результатом выполнения данного пункта?
кроме моих знаний, видимо еще обзоры из предыдущего пункта, а так же описания архитектуры из следующих пунктов.
Закрыто