"Я знаю, как произнести "банан" по буквам, но я не знаю, когда мне остановиться", как сказала одна маленькая девочка.
Прелесть идеально "сценарных" задач в том, что мы всегда знаем, когда нам остановиться. Последняя нота, последняя строчка диалога в сценарии, последний кусочек пустого места на холсте означают, что конец работы близко. Если вы используете сценарный подход к тестированию, то вы останавливаетесь, если заметили проблему, или если у вас появились вопросы/любопытные идеи.
Если вы исследуете продукт, сказать, когда нужно остановиться, не так-то просто. На джем-сейшенах музыканты сигнализируют друг другу при помощи глаз и музыки, когда нужно затихнуть или остановиться совсем. Для человека неопытного причины, влияющие на решение закончить работу, могут быть непонятными или незримыми. Даже в среде артистов менее опытные люди могут быть не в состоянии объяснить, почему все остановились, но у мастера своего дела с объяснениями никаких затруднений не будет.
Как нам определить, когда нужно остановиться?
Первый шаг на этом пути – это осознание, что мы не можем быть уверены, что мы завершили свою работу. Любая попытка найти ответ на вопрос, когда нужно остановиться – это эвристика. Эвристики – быстрый и дешевый метод принятия решений. Они ненадежны – могут сработать, а могут и нет. Они абстрактны и могут быть похожими друг на друга. Они зависимы от контекста – предполагается, что ими будет пользоваться достаточно компетентный и опытный человек. Они похожи на лампочки на приборной панели вашей машины. Когда какая-то из них загорается, вам нужно решить, а не остановиться ли до того момента, пока она снова не станет зеленой – но, возможно, важнее игнорировать ее и продолжать движение?
Я составил список эвристик для остановки тестирования, а также привел причины для сомнений в каждой из них.
Есть проверка, оправляем пустою форму и проверяем наличие текста с ошибкой, есле текста нет выводи сообщение. Вопрос в том как заставить TestNG выводить ошибку, если выполняеться условие из Else?
@Test
public void Send_empty_form(){
System.out.println("Отправляем пустую форму.....");
driver.findElement(By.cssSelector("input[type=\"submit\"]")).click();
if(driver.findElement(By.xpath("//html")).getText().contains("Имя должно содержать от 1 до 32 символов!")) System.out.println("///Текст ошибки имени найден");
else System.out.println("///Текст ошибки имени НЕ найден");
Каким бы не был результат теста он скажет что тест пройден, и это логично но как заставить его сказать что тест провален? Заранее спасибо!
Недавно начал пользоваться pairwise тестингом и через некоторое время возник вопрос, а есть ли программы, где можно указать условие, с которым можно протестировать в парах?
Допустим есть список телефонов:
1)Asus
2)Lenovo
3)Nokia
4)Apple
И есть диагонали экрана:
1)3.5
2)4.0
3)4.5
4)5.0
У айфонов нету телефонов с диагональю 3.5 и эта комбинация недопустима. Получается просто прогнать все это через Allpairs не получится.