И открывает серию слайдкастов запись выступления Дмитрия Врончева на тему "Коучинг в QA". В этом выступлении Дмитрий рассказал про процесс оценки и коучинга тестировщиков одной из команд компании Acronis.
Автоматизация тестирования: быть или не быть?
2011-05-18 12:43 Автоматизация тестирования. Заветная страна, сказочный рай. Мечта многих менеджеров -- автоматизировать все тесты, чтобы... Чтобы что? Можно ли добраться до этой цели, и что случается с теми, кто её достиг?
Автоматизация тестирования позволяет часть работ по тестированию переложить с тестировщиков-людей на плечи роботов-компьютеров. Но как любая другая другая автоматизация она не всегда оправдана с экономической точки зрения. Требуются вложения сил и средств, требуются специалисты особой квалификации, требуется особая программно-аппаратная база. Будут ли эти вложения оправданы? Какие выгоды принесет автоматизация?
Хотите узнать:
какие виды тестирования хорошо поддаются автоматизации, а какие плохо?
следует ли автоматизировать регрессионное тестирование?
можно ли автоматизировать тестирование методом свободного поиска?
как организовать ручное и автоматизированное тестирование, чтобы они не дублировали, а дополняли друг друга?
каковы особенности проектирования тестов для автоматизации?
впишется ли автоматизация в ваши процессы и методы разработки?
как выбирать инструменты для автоматизации тестов?
насколько можно доверять автоматизированным тестам, не будут ли они пропускать ошибки?
какие специалисты потребуются для разработки автоматизированных тестов?
сколько времени займет этап внедрения автоматизации и когда она начнет приносить выгоды?
нужно ли что-то специально дорабатывать в тестируемом приложении, чтобы тесты можно было автоматизировать?
нужна помощь в следующем:
на данный момент из за специфики веб-приложения приходиться записывать jmeter скрипты каждый раз на новой инсталляции продукта. (записать один раз скрипты и каждый раз запускать их нельзя из-за динамического контента)
есть большое желание автоматизировать этот процесс записи скриптов.
пока что есть плохое решение, включать прокси и записывать jmeter скрипты в то время когда прогоняются автотесты - но как результат получается полная каша из семплеров, в которых, чтоб разобраться надо потратить еще больше времени :)
в облаках летает решение анализировать аксес лог и использовать регулярные выражения
конечно же, самое классное было бы вообще полностью автоматизировать нагрузочное тестирование и смотреть только отчеты :)
скорее всего этот вопрос уже не новый, и у многих есть свое решение, но я пока ничего хорошего не нашел
ps: на форуме есть тема selenium+jmeter в которой попытку заиспользовать функциональные тесты вместе с нагрузочными посчитали моветоном:)
Существует следующий тест: [PRE]
- доступные тестовые данные по ТС (марка-модель-модификация Транспортного средства)
[STEPS]
1. логин
2. переход на страницу
3. выбор константных значений
4. выбор марки, модели, модификации транспортного средства из конфигурационного файла.
5. .........
13. логаут
Тестовые данные забиты в файл cars.csv в следующем формате: ACURA,MDX,3.5
ACURA,MDX,3.7
ACURA,RL,3.5
ALFA ROMEO,147,1.6
ALFA ROMEO,156,2.0
В тесте соответственно данные забираются через CSV Data Set Config.
при при прогоне теста с параметрами Thread Properties:
Number of Threads(users): 1
Loop Count: 1
тест работает отлично все данные из файла считываются верно.
При увеличение числа пользователей (Number of Threads(users): 10) начинается какая то мистика, то есть тест начинает падать с ошибками из-за того что допустим марка, модель берется из одной строчки файла, а модификация из другой и тест валится... :(
Как сделать так чтобы для большого числа пользователей данные из файла считывались корректно?
Ошибки при вызове методов из других классов
2011-05-18 19:02
Использую связку указанную в описании темы, пытаюсь сделать что-нибудь совсем простое для начала, например логин на фейсбук
Класс1 - хардкод действий с локаторами:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Selenium;
using NUnit.Framework;
namespace Facebooktry
{
public class login
{
public ISelenium selenium;
public void enter(string username, string password)
{
selenium.WaitForPageToLoad("30000");
selenium.Type("email", username);
selenium.Type("pass", password);
selenium.Click("css=div.menu_login_container .uiButtonConfirm");
selenium.WaitForPageToLoad("30000");
}
}
}
Класс2 - собственно сам тест:
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using NUnit.Framework;
using Selenium;
namespace Facebooktry
{
[TestFixture]
public class Test
{
private ISelenium selenium;
private StringBuilder verificationErrors;
[SetUp]
public void SetupTest()
{
selenium = new DefaultSelenium("localhost", 4444, "*firefox C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "http://www.facebook.com/");
selenium.Start();
verificationErrors = new StringBuilder();
}
[TearDown]
public void TeardownTest()
{
try
{
selenium.Stop();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
Assert.AreEqual("", verificationErrors.ToString());
}
[Test]
public void FacebookTest()
{
login blah = new login();
selenium.Open("/");
blah.enter("мыло", "пароль");
}
}
}
Студия настроена на запуск nunita при дебаге, компиляция проходит нормально, при запуске теста nunit выдает ошибку:
Facebooktry.Test.FacebookTest:
System.NullReferenceException : Object reference not set to an instance of an object. ссылаясь на строку blah.enter("мыло", "пароль");
Есть программка, которая генерирует/симулирует запросы клиентской части.
Подскажите, пожалуйста, инструмент, который сможет зарегистрировать результаты производительности сервера? (такие как время отклика, время обработки запроса, загруженность процессора сервера и т.д.)