Перейти к содержимому

Фотография

Какой вид тестирования применить?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 alex_kart

alex_kart

    Новый участник

  • Members
  • Pip
  • 28 сообщений

Отправлено 09 сентября 2009 - 08:08

Есть необходимость реализовать ряд тестов, которые бы проверяли условия для всех классов в проекте. К примеру для всех кнопок в проекте проверить правильность установки шрифта или для всех датасетов в проекте проверить корректность SQL запросов.
Пробовал использовать для этого функциональное тестирование с помощью TestComplete однако он может оперировать только с объектами, которые уже созданы, т.е с помощью него нельзя протестировать к примеру форму которая еще не открыта (и не создана). Полагаю что тут нужно идти другим путем :)
Посоветуйте, как (и чем) сделать тестирование с таком случае?
З. Ы. Проект на Delphi
  • 0

#2 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 09 сентября 2009 - 12:33

Могу ошибаться (давно не видел проектов на дельфи), но, вроде бы, формы и датасеты (? штука такая, куда объекты для работы с данными кладут) там хранятся в текстовом виде.

Следовательно задача сводится к обработке текстовых файлов, выдиранию из них нужных данных и сравнению с эталонными.
  • 0

#3 alex_kart

alex_kart

    Новый участник

  • Members
  • Pip
  • 28 сообщений

Отправлено 09 сентября 2009 - 13:05

Могу ошибаться (давно не видел проектов на дельфи), но, вроде бы, формы и датасеты (? штука такая, куда объекты для работы с данными кладут) там хранятся в текстовом виде.

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

Да, компоненты формы сохраняются в файлах *.dfm. Но парсить текстовый файл чтобы выцепить компоненты - имхо это извращение :victory:
  • 0

#4 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 09 сентября 2009 - 15:44

Могу ошибаться (давно не видел проектов на дельфи), но, вроде бы, формы и датасеты (? штука такая, куда объекты для работы с данными кладут) там хранятся в текстовом виде.

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

Да, компоненты формы сохраняются в файлах *.dfm. Но парсить текстовый файл чтобы выцепить компоненты - имхо это извращение :victory:

А по-моему это первое и простейшее что приходит на ум. Я так проверял везде ли изменили название продукта - тупым поиском по содержимому файлов.
  • 0

#5 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 09 сентября 2009 - 15:58

Да, компоненты формы сохраняются в файлах *.dfm. Но парсить текстовый файл чтобы выцепить компоненты - имхо это извращение :victory:

Извращение - это написать другое приложение, которое будет загружать компонент в ран-тайме из *.dfm и проходить по его пропертям.

Но тоже вполне работающий метод.
  • 0

#6 alex_kart

alex_kart

    Новый участник

  • Members
  • Pip
  • 28 сообщений

Отправлено 10 сентября 2009 - 07:10

Поиском по тексту не всегда удастся обойтись. Для проверки шрифта конечно подойдет. Но вот если скажем изменили схему БД (к примеру, перенесли поле из одной таблицы в другую, или переименовали), то простым поиском не удастся найти все неправильные запросы. Кроме того, код приложения и схему базы могут править разные люди, которые могут забыть (забить) проверить, не поломалось ли что-нибудь в другом месте. Частенько приходилось заворачивать версию из тестирования, из-за того что где-то не переименовали/не убрали/не добавили поле/таблицу в запросе
Задача разбора дфки для выявления текста запроса также уложняется тем, что в запросе могут быть переменные привязки, которые могут быть не объявлены/инициализированы чем-то в соответствующем датасете.

Извращение - это написать другое приложение, которое будет загружать компонент в ран-тайме из *.dfm и проходить по его пропертям.

Вот если бы тест комплит это умел :)
  • 0

#7 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 10 сентября 2009 - 11:02

Поиском по тексту не всегда удастся обойтись. Для проверки шрифта конечно подойдет.
...
Вот если бы тест комплит это умел :)

  • Волшебных палочек не бывает
  • Не все проблемы можно обнаружить статическим тестированием
  • Не все проблемы можно обнаружить динамическим тестированием
  • Все проблемы вообще сложно обнаружить
  • Организационные проблемы не всегда можно решить техническими средствами
  • Ну и наоборот, конечно
Не пытайтесь придумать Универсальный Инструмент Тестирования И Всего Такого. Не пытайтесь придумать Универсальную Методику Применения Тесткомплита.
Начали с простой задачи. Её можно решить тысячей способов. Какие-то могут быть эффективнее других в определенных условиях. Например у вас есть в команде админ, который одним батником за 5 минут найдет все неправильные шрифты. Или хороший Delphi-программист, который за день напишет инструмент для анализа форм. Или у вас есть 10 студентов, которые за тот же день "протыкают" все кнопки.

Короче говоря, определите свой контекст, приоритеты, и решайте задачи по мере поступления. Это быстрее и проще, чем искать волшебную палочку. Отговаривать от рассуждений "почему это сделать нельзя" не вижу смысла.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных