Обновление данных
2010-09-23 10:35
Добрый день. Тестирую win32 приложение.
При каждом новом тестировании у меня данные меняются, как пример кнопка имела название А, стала Б, в едите была одна строчка, стала другая. HP QT записывает данные в репозитарий. Как мне обойти мою проблему или апгрейдит репозитарий?
Когда создавать баг репорт?
2010-09-23 12:18 Как принято.
Популярный ответ на этот вопрос прост и лаконичен: "сразу же, как только обнаружил баг". Причём, аргументация такого подхода выглядит как "куй железо пока горячо" или "так принято". Но вот многострадальный лоб, в очередной раз столкнувшись с великими граблями реальности заставляет пересмотреть данное утверждение.
Почему не стоит так поступать.
При использовании выше обозначенного подхода приходится сталкиваться со следующими сложностями:
1. Замедление процесса тестирования. Когда прогоняешь тест-кейсы или проходишь по чек-листам, вообщем активно тестируешь приложение, у тебя всё настроено именно под этот процесс, даже мозг активно работает в ключе тестирования. Перерыв после каждого бага для создания репорта сильно отвлекает от процесса, мешает сосредоточиться и в конечном итоге сильно растягивает процесс.
2. Видна лишь часть проблемы. Баг, в классическом понимании - это не соответствие ожидаемого результата и полученного. На практике же часто можно видеть лишь следы деятельности бага и вместо описания оного наделать множество репортов о его следах. Хорошо, если программист окажется добросовестным и докопается до сути, а если нет, то следы бага будут аккуратно убраны, а сам баг спрячется до часа X.
3. Однобокость. Если сразу создавать репорт, то у нас не будет времени, что бы взглянуть на баг с другой стороны, в другом контексте. Не получится спросить мнения других участников разработки, ведь они могут быть заняты в данный момент. При отсутствии точного технического задания это особенно актуально.
Мой подход.
Берётся логическая часть объекта тестирования, функциональность. Полностью тестируется, для каждого потенциального бага создаётся запись, если нужно скриншот. В дальнейшем такая запись пополняется, уточняется. После окончания тест-сессии начинается работа с претендентами на звание бага. Отойдя от прогона тест-кейсов, можно заново взглянуть на найденные баги, точнее локализовать их, в случае сомнений обсудить их с разработчиками, тестировщиками, менеджерами. В результате белого шума становится меньше и разработчики получают более качественные баг-репорты.
Мнения?
Не перехватывается исключение
2010-09-23 12:57
Здравствуйте.
Помогите, пожалуйста, разобраться с возникшей проблемой.
Для автоматизации тестов используется TestComplete 7.2, тестовые скрипты пишутся на JScript.
Описание проблемы.
В тестовом проекте имеются два файла:
Tests.sj - содержит функции, запускающие тестовые сценарии,
и
TestUtils.sj - содержит вспомогательные функции, необходимые для запуска тестов (подключение к БД, валидация тестовых данных и т.д.).
В файле TestUtils.sj имеются функции, подобные следующей:
function connect(dbName) {
// ...
if (connectionProblem) {
throw new Error("Невозможно подключиться к БД " + dbName);
}
}
Данная функция вызывается, например, из функции test1, которая находится в файле Tests.sj:
function test1() {
try {
// ...
connect("TestDB");
} catch (error) {
// Код обработки исключения.
}
}
При выполнении функции test1, в случае неудачного подключения к БД, ожидается, что будет сгенерировано исключение, которое затем можно будет обработать. Однако, вместо этого выполнение теста прекращается. В логе TestComplete-а отображаются 2 записи:
Error. При этом в Remarks написано: Ошибка выполнения Microsoft JScript. Исключение брошено и не поймано.
Script execution was interrupted. В Remarks ничего не написано.
Заметил, что поведение, описанное выше, воспроизводится если функция, генерирующая исключение, и функция, вызывающая ее, находятся в разных скриптовых файлах. Если же функции находятся в одном файле, то исключение перехватывается, после чего может быть обработано.
Вопрос
Почему не удается перехватить и обработать исключение, если оно было сгенерировано в функции, которая находится в другом скриптовом файле? Может я что-то не так делаю? Или не правильно заданы настройки тестового проекта?
Ситуация следующая: Есть .Net приложение, в нем есть грид, на который поставлен чекпоинт.
С последней версией приложения чекпоинт перестал работать: как будто не видит грид, хотя методы типа .GetCellData работают и выдают правильный результат.
При попытке поставить новый стандартный чекпоинт на этот грид в свойствах чекпоинта(для класса SwfTable) отсутствует вкладка Table Content.
В чем может быть проблема?
Заранее спасибо.
Календарь на 2011 год для тестировщиков
2010-09-23 16:00
Вы уже задумались, что подарить на Новый год своим тестировщикам? Каким сувениром порадовать своих партнёров, подрядчиков, заказчиков? А может быть вы размышляете над тем, какой подарок хотели бы получить вы сами?
Есть отличное решение – настольный календарь тестировщика!
Ваш подарок будет целый год стоять на столе у тестировщика и напоминать о вас.
Но мы предлагаем не простой календарь, а самоучитель в картинках для тестировщиков! Две картинки-карикатуры на каждый месяц покажут тестирование с разных сторон. Если ежедневно по десять минут размышлять над смыслом этих рисунков, профессиональный уровень тестировщика будет расти сам собой, без особых усилий.
Не отрабатывает выбор файла в диалоге открытия/сохранения
2010-09-23 18:00
Добрый день!
В скрипте(delphiscript) функционального теста есть строка открытия диалога _dlg.FileOpen('D:\'+filename,'*.*')
В этом случае файл открывается.
Но стоит мне поменять диск _dlg.FileOpen('С:\'+filename,'*.*'), на котором расположен искомый файл, но диалоговое окно не выбирает файл и остается висеть.
При этом тест не отрабатывает.
Файлы расположены на дисках D и С.
Интересно, что если выполняешь тест в процессе отладки, то все прекрасно находится и открывается.
Кто-нибудь сталкивался с такой проблемой?