пятница, 7 мая 2010 г.
Автоматизация Flex приложений на QTP
Даже с установленным Flex 3.0.0 Add-in'м объекты flex части не распознавались, соответственно автоматизация не представлялась возможной.
Однако, после недолгих поисков наша проектная команда qa нашла приемлемое решение.
Шаги такие:
1. Запускаем Flex Builder.
2. Создаём новый Flex проект.
3. Выбираем его в навигаторе.
4. Выбираем Project > Properties > Flex Compiler.
5. В поле "Additional compiler arguments" прописываем следующее:
-include-libraries "flex_builder_dir\sdks\3.0.0\frameworks\libs\automation.swc"
"flex_builder_dir\sdks\3.0.0\frameworks\libs\automation_agent.swc"
"flex_builder_dir\sdks\3.0.0\frameworks\libs\qtp.swc"
"flex_builder_dir\sdks\3.0.0\frameworks\libs\automation_dmv.swc"
( -include-libraries работает с директорией Flex Builder'a (в Windows по дефолту "C:\Program Files\Adobe\Flex Builder 3\")
6. Кликаем OK,чтобы сохранить изменения, а потом ещё раз на OK, чтобы закрыть Properties проекта.
7. Компилим Flex приложение.
Негативные моменты этого подхода в том, что:
1. Придётся всегда параллельно собирать по 2 версии приложения (для продакшена и для тестирования), такое сработает далеко не на любом проекте
2. "probe effect", хоть и минимальный, но всё же присутствует
P.S. Работает с 7м IE, Flex 3.0.0 Add-in обязателен.
среда, 28 апреля 2010 г.
ISTQB Certification
Уже давно хотел это сделать, да всё руки не доходили.
Поскольку для меня эта процедура осталась позади, а результат успешен, - дам несколько советов.
1. Язык
Читать материалы для подготовки к экзамену лучше на английском языке. Это нужно для того, чтобы не "платить" за 'lost in translation' ошибки. При этом среднего уровня владения английским вполне хватит.
2. Материалы
Чтобы покрыть все вопросы экзамена - достаточно 3х документов: книга (Foundations of Software Testing) - собственно для изучения теории, словарь терминов (Glossary) - для изучения терминологии и "методичка" (Syllabus) - для повторения.
Я при подготовке использовал вопросники и других источников - например, отсюда, но особой пользы они не принесли. Однако если вы располагаете достаточным количеством времени, то и этот ресурс лишним не будет.
3. Время
Для подготовки не нужны месяцы. Я считаю, что достаточно 2-х недель по 1-2 часа в день.
Или если пересчитать на покрытие материала - одно прочтение книги, знание обязательных терминов (в книге они указаны), прохождение всех тестов и пробного экзамена (тоже есть в книге), повторение материала по "методичке".
4. Где и Когда
Для того, чтобы сдать экзамен в Беларуси следует обратиться в местную ветку ISTQB, которую можно найти тут и зарегистрироваться на сайте. А потом просто следовать инструкциям, которые будут приходить на ваш email.
Я лично считаю сертификацию весьма полезной вещью:
- она помогает обновить и структурировать знания по тестированию ПО
- расширить кругозор и получить полезные контакты
- добавить "галочку" в резюме
- в конечном итоге, просто как пункт в планах самореализации
вторник, 20 апреля 2010 г.
понедельник, 19 апреля 2010 г.
пятница, 2 апреля 2010 г.
I've got the Power...Shell
Мне это дело изрядно надоело, поэтому я твёрдо решил автоматизировать эти действия.
На помощь пришёл PowerShell, а также разработчики, которые оказали содействие. Суть автоматизации - написать функцию, прописать её в профиле PowerShell на локальной и удалённой машинах и выполнять её, когда необходимо выполнять вышеупомянутые рутинные действия.
А дело происходит так:
Открываем PowerShell и cоздаём профиль(ну, если ещё не создан конечно): new-item -type file -path $profile -force
Открываем профиль: notepad $profile
Пишем функцию:
function DoSomething([string]$Param1 = "") {
if ($Param1 -eq "") {
Write-Host "You are an IDIOT!!!! You need to enter Param1 value!" -ForegroundColor Red
return
}
$A_OUTPUT = "D:\Destination\"
$B_INPUT = "D:\Files\Images\"
$C_FILE = "Info.txt"
$currentDate = Get-Date -Format yyyyMMdd
$destinationFolder = $A_OUTPUT + $currentDate
if ((Test-Path -path $destinationFolder) -ne $True)
{
New-Item $destinationFolder -type directory | Out-Null
}
$Destination = "$destinationFolder\$Param1"
if ((Test-Path -path $Destination) -ne $True)
{
New-Item $Destination -type directory | Out-Null
}
$files = ls $B_INPUT
$files | %{copy -path $_.FullName -Destination $Destination}
Write-Host "$($files.Count) files" -ForegroundColor Yellow -noNewLine
Write-Host " copied from $B_INPUT to $Destination"
New-Item ($Destination + "\" + $C_FILE) -itemType File -Force | Out-Null
Write-Host "$C_FILE" -ForegroundColor Yellow -noNewLine
Write-Host " is created"
Write-Host "Files $Param1 are reorganizes!" -ForegroundColor Green
}
Сохраняем профиль. Тут есть вопрос безопасности - если вам операционка говорит "низя" - её надо вежливо попросить:
1. Запустить PowerShell под админом
2. Прописать следующее: Set-ExecutionPolicy unrestricted
3. Согласиться на все, что предложит :)
Перезапускаем PowerShell.
Запускаем функцию DoSomething TestB13. И функция благополучно копирует файлы из D:\Files\Images\ в D:\Destination\
Ответ PowerShell'a будет такой (с учётом, что в ресурсе лежит 3 файла):
3 files copied from D:\Files\Images to D:\Destination\
Info.txt is created
Files TestB13 are reorganized!
В итоге, экономия рабочего времени составила более 50% (точно не замерял), которое я могу тратить на более важные аспекты тестирования.
P.S. Курс молодого бойца PowerShell можно пройти тут
среда, 17 марта 2010 г.
Контекстное тестирование
Некоторое время назад, прочитал о контекстном тестировании (context-driven-testing). Оказалось, что то, как я работаю, по большому счёту – контекстное тестирование.
Что же такое контекстное тестирование и с чем его едят.
Школа контекстного тестирования – одна из пяти школ тестирования программного обеспечения (наряду с аналитической и стандартной школой, а также школой обеспечения качества и школой «гибкого» тестирования ).
Контекстное тестирование – это подход к тестированию ПО, суть которого описана семью основными принципами:
1. Ценность любых практик зависит он контекста.
2. Панацеи в тестировании не существует, существую оптимальные для данного тестирования практики
3. Проектная команда – самая важная часть контекста
4. То, как развивается проект с течением времени – зачастую непредсказуемо
5. Программный продукт – это решение какой-либо задачи. Если задача не решена – продукт не работает
6. Качественное тестирование – интеллектуальный и непростой процесс
7. Только с помощью рассудительности и профессиональных умений, применяемых на протяжении всей длительности проекта, мы сможем делать правильные действия в правильное время, чтобы эффективно протестировать продукт
вторник, 9 марта 2010 г.
Mind map как апгрейд для чек-листа
Любому, даже малоопытному, тестировщику знаком такой артефакт тестирования как «чек-лист» (checklist). Сей артефакт представляет собой список того, что необходимо проверить в ходе тестирования той или иной функциональности. Обычно он используется для тестирования функциональности, не покрытой тестами и требующего проверки большого количества объектов.
Одни тестировщики, в принципе, считают, что чек-лист хорош как есть. В большинстве случаев это – текстовый файл, с иерархией или без, в котором списком идёт перечисление пунктов, проверка которых обязатльна в рамках данной функциональности.
Другие же спецы ищут пути оптимизации процессов тестирования. К такой оптимизации можно отнести использование майнд-мэпов (mind maps) как апгрейд для тестирования по чек-листам. Суть сводится к тому, что пункты чек-листа представляются не списком, а в виде диаграммы, построенной вокруг центральной идеи (функциональности) с отображением связей между объектами внутри этой идеи (отображение связей между частями функциональности) .
Использование майнд-мэпов делает процесс тестирования по чек-листам более наглядным : можно сфокусироваться на определённой части функциональности, свернув остальные ветки диаграммы; на диаграмме хорошо видно текущей статус тестирования функциональности (например, путём выделения цветом или любым другим способом, статуса по отдельным частям: pass, fail, not ran, blocked, etc).
В вопросе выбора ПО для построения майнд-мапов я бы посоветовал либо "платный" Mindjet Mind Manager либо бесплатный FreeMind

