Ответы пользователя по тегу Тестирование ПО
  • Существуют ли бесплатные онлайн-курсы для обучения тестированию, наподобие codecademy или coursera?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Tестировщик - не профессия, а стиль жизни (c) .
    Джеймса Баха (James Bach) советую, все что найдете.
    Ответ написан
    Комментировать
  • Какие сценарии использовать для тестирования платежной формы?

    lxsmkv
    @lxsmkv
    Test automation engineer
    если у вас нет спецификации, что будет т.н. оракулом? Т.е как вы определите это ошибка или так и надо. Например, вы ввели вместе с числами буквы, поле стерлось и не было показано никакого сообщения что ввод неверный. Это ошибка? А может так было задумано. Все что вы можете сделать это эксплоративное тестирование. Т.е впринципе вы можете протестировать только положительные сценарии, для негативных сценариев нет информации. Все что вы можете это предположить как оно должно работать.
    Так же вы ограничены в глубине тестирования. Чтобы сделать самые интересные тесты вам придется переводить деньги. Этого вы сделать не можете, и никто от вас этого потребовать не может.
    Но даже при отсутствии спецификации, можно конечно сделать сравнительное тестирование, задокументировать поведение системы на одном устройстве и посмотреть ведет ли себя система так же на другом.
    Составьте пользовательские сценарии. Подумайте какие цели ставит себе человек решивший воспользоваться таким сервисом, и может ли он достигнуть цели.
    Покопайтесь в компьютерных журналах, там часто проводят сравнительные тесты программного обеспечения и сервисов, посмотрите какие критерии выбирают они. Тестирование удобства пользования (UX) тоже тестирование.
    Но если просто решать задачу для галочки, проверить нужно валидацию ввода, для текстовых данных ввод букв разных алфавитов. Комбинаторные тесты можно делать. Если поля два, четыре варианта ввода (пустой ввод, слишком длинный ввод, неполный ввод, верный ввод) для одного поля и четыре для другого у вас уже получается 16 комбинаций.
    Можно проверить рудиментарные требования к безопасности, например использует ли сервис шифрованый протокол. Стираются ли поля при перезагрузке страницы, при откывании страницы заново.
    Думайте, задание для того и дано, чтобы вы тренировались думать как тестировщик, а не для того чтобы вы дали верный ответ.
    Ответ написан
    Комментировать
  • Есть ли хороший пример page object pattern на python?

    lxsmkv
    @lxsmkv
    Test automation engineer
    у нас свой фреймворк, мы делаем end-to-end тестирование embedded системы через GUI.
    я не выношу локаторы, они прописаны в классе в функциях.
    Некоторые у нас выносят в локаторы в отдельные файлы. Можно и так, однако я не вижу преимущества.
    Так я точно знаю какие локаторы относятся к какой странице. Начала вылетать функция, поправил локатор, не стало страницы, выкинул, поправил последовательность в тесте. Старые локаторы "автоматически" удаляются вместе со старыми page-объектами.
    В нашем случае нам не приходится ссылатъся на один и тот же элемент в рамках разных страниц, потому что у нас дерево виджетов построено от страницы, и даже если виджеты одинаково называются это совершенно разные обьекты. В веб-тестировании, однако, это не так, поэтому аргумент резонный.
    tf тут это ссылка на тест-фреймворк, который дает нам базовые функции для взаимодействия с GUI.
    class LoginView:
    	def __init__(self):
    	  self.viewname='ABC'
    	def enter(self):
    	  tf.executeApiCall()
    	def wait_for_view(self):
    		tf.wait_for_view(self.viewname)
    	def press_cancel_button(self):
    		tf.press_widget('xyz.ABC')
    	def enter_username(self, u):
    		tf.enter_string('xyz.ABC.inputfield', u)
    	def check_error_popup_visible(self,expect):
    		if expect==True:
    			tf.wait_for_view(view='xyz.ABC.LoginErrorPopup')
    		else:
    	 		tf.wait_for_view(notinview='xyz.ABC.LoginErrorPopup')
    	def press_login_button(self):
    		tf.press_widget('xyz.ABC.Login')

    на стороне теста выглядит как-то так
    username='Kolya'
    main_view = MainView()
    login_view = LoginView()
    login_view.enter()
    login_view.wait_for_view()
    login_view.enter_username(u=username)
    login_view.press_login_button()
    login_view.check_error_popup_visible(expect=True)
    login_view.confirm_error_popup()
    login_view.check_error_popup_visible(expect=False)
    login_view.check_inputfield_text_equals(expect=username)
    login_view.leave()
    main_view.wait_for_view()
    Ответ написан
    Комментировать
  • Как автоматизированно тестировать бизнес кейсы gui приложения под Windows?

    lxsmkv
    @lxsmkv
    Test automation engineer
    посмотрите тут какие инструменты умеют тестировать windows приложения (колонка tested system): https://en.wikipedia.org/wiki/Comparison_of_GUI_te...
    для проверки отрисовки инструмент должен уметь делать сравнивание скриншотов.
    Testcomplete вроде как умеет такое из коробки.
    https://support.smartbear.com/testcomplete/docs/te...
    И да, все эти интрументы стоят денег :(
    Ответ написан
    1 комментарий
  • Идти ли в QA Automation для развития как Developer?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Автоматизация тестирования это тоже разработка. Там тоже нужно код оргранизовать чтобы как можно меньше пришлось его поддерживать. Задача нетривиальная. Ответственности больше чем у разработчика. Тот скинул код и пошел домой. А автоматизатор сидит и анализирует ошибку, пытается ее воспроизвести, пишет доходчивый репорт, объясняет все еще раз разработчику, перепроверяет была ли ошибка устранена. И у вас будет масса возможностей заглянуть в продакшн код, и я бы даже рекомендовал это делать, чтобы мозг не пылился, будете потом к репортам патчи с фиксами прикладывать. А там и до разработчика не далеко.
    Ответ написан
    Комментировать
  • Как наилучшим способом протестировать программу?

    lxsmkv
    @lxsmkv
    Test automation engineer
    если система имеет интерфейсы и новый функционал строится используя имеющиеся интерфейсы, то "сломать" систему невозможно. Интерфейсы на то и интерфейсы.
    https://habrahabr.ru/post/30444/
    Ваша задача - гарантировать неизменность интерфейсов. Для этого нужно код покрыть юнит-тестами, которые бы указывали разработчикам если рефакторинг нарушает существующий интерфейс. Еще есть конечно опасения, что не имея представления об имеющихся функциях будут строить велосипед рядом. Но тут нужно предоставить документацию.
    Ответ написан
    Комментировать
  • Лучшие источники информации для QA?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Cem Kaner, James Bach, Lisa Crispin, Dorothy Graham - книги, видео
    Наталья Руколь - видео.
    Сам пришел в профессию насмотревшись лекций Джеймса. Он очень крутой гуру.
    Ответ написан
    Комментировать
  • Как правильно писать функциональные тесты для сервисов на scala?

    lxsmkv
    @lxsmkv
    Test automation engineer
    тестирование веб-фронтэнда -> Selenium.
    Есть вот проект ScalaTest (Selenium + Scala в связке) - это то что вам нужно.
    www.scalatest.org/user_guide/using_selenium
    Даже "безбашенное" тестирование можно делать:
    https://blog.knoldus.com/2015/07/18/headless-brows...
    Ответ написан
    Комментировать
  • Лучшие практики организации отдела тестирования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    У нас например двух-ступенчатое тестирование. Есть набор приемочных тестов, которые определяют общую работоспособность билда. Если он работоспособен, то отдел тестирования берется за работу. Каждый имеет свой участок в приложении. Найденные ошибки заливаются в трекер, под соответсвующей компонентой. За компоненту отвечает тим-лид этой компоненты. Он определяет приоритет и сроки передает заявку об ошибке разработчику. Разработчик решает проблему, и пишет в каком теге и билде проблема будет решена. Тикет ставится в статус "на верификацию". Тестировщик проверяет в соответствующем билде была ли устранена ошибка. И проводит в следующий раз регулярное тестирование по плану с учетом ранее найденных и еще нерешенных ошибок. В отчете он указывает на уже существующую заявку в трекере, если проблема все еще присутствует.

    В процессе наличествует немного беготни и хаоса, но куда же без этого.
    Ответ написан
    Комментировать
  • Какой продукт лучше использовать для автоматизированного тестирования android прошивок?

    lxsmkv
    @lxsmkv
    Test automation engineer
    appium же
    Ответ написан
    Комментировать
  • С чего начать в Тестировании и как получить полезный опыт?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Cem Kaner, James Bach, Lisa Crispin, Dorothy Graham, Наталья Руколь. Ютубьте, гуглите :)
    Ответ написан
    Комментировать
  • В чем разница между issue и bug в тестировании?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Такая же разница как между проблемой (или изьяном) и программной ошибкой. К черту эти разводы по понятиям. Еще к тому же и английским.
    Есть два вида изьянов, из-за одних заказчик не примет работу, а другие не смертельные. Все.
    Не примет работу он если она не соответствует требованиям - раз, - это объективный критерий, и если он получил не то, что ожидал - два, - это субьективный критерий. Тестировщик должен понимать, что на кону стоит заказ, и клиент платит не за игру в слова, а за качественный результат. Задача QA быть глазами заказчика в его отстутсвие.
    Для меня лично баг это проблема, которую можно устранить изменив код приложения. Хотя этимологически это неверно :)
    Ответ написан
    Комментировать
  • Подготовить план тестирования корпоративного сайта, что для этого нужно?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Lessons Learned in Software Testing, (James Bach, Cem Kaner) рекомендую всем и всегда для любой задачи по тестированию. Она даст Вам возможность понять не собираетесь ли вы наступить на грабли. Судя по постановке задачи, руководство фирмы не имеет никакого представления о тестировании в целом. Обрадую Вас: составление тест плана даже для одного отдельного продукта задача для одного практиканта непосильная. (Учитывая что практикант ограниченый по времени ресурс) Если на фирме не знают о том. что такое тестирование, то скорее всего нет ни спецификаций ни требований к продуктам. И Вам возможно придется сперва разобраться в фунционале приложения. Времени на это может понадобиться неожиданно много. Например месяц-два. Чтобы очертить рамки задачи можно порекомендовать выделить общй фунцкионал платформы который присутствует во всех продуктах (битрикс я так понимаю платформа, на которой строят приложения) Для автоматизации поискать как люди тестируют битрикс приложения. Думаю даже такой общий план сам по себе будет полезен.
    Для Вас это будет веселое и увлекательное путешествие по девяти кругам ада. Но оттуда Вы выйдете просветленным:)

    А так по тестированию в целом слушайте лекции на ютубе: SQA Days, QA Fest, ConfeT&QA, Наталья Руколь.
    Ответ написан
    Комментировать
  • Какие шаги тестирования сайта?

    lxsmkv
    @lxsmkv
    Test automation engineer
    попытайтесь ответить для себя на вопрос "какой фунционал предоставляет веб сайт для посетителя". Увидеть функционал сперва может показаться трудным. Но при должном упорстве серая пелена спадет.
    Начинайте так:
    1) У пользователя есть возможность ознакомиться с историей компании.
    2) - ""-- "" создать учетную запись
    и.т.д.
    Каждый глагол в списке это и есть функционал, который нужно проверить. Для тестирования каждой предоставляемой функции может потребоваться разное количество тестов. В итоге нужно удостоверится может ли посетитель использовать заявленную фунцкию в достаточном обьеме. Обьем при этом определяете вы. По верхам или каждую мелочь. Начать конечно лучше по верхам, чтобы уже что-то тестировалось в то время как вы будете искать способы для детального тестирования.
    Ответ написан
    Комментировать
  • Как разграничить unit-тесты и acceptance-тесты?

    lxsmkv
    @lxsmkv
    Test automation engineer
    приемочное тестиование в принципе не должно сравнивать идентификаторы иначе это уже не черный ящик. Я бы сохранил текстовое наименование товара до добавления в корзину и сравнил с наименованием после добавления в корзину. Ведь номерной идентификатор товара не имеет для пользователся никакого практического значения. Ошибкой с точки зрения клиента будет, если он добавит помидоры, а в корзине окажутся арбузы.
    Ответ написан
    Комментировать
  • Есть ли сервисы для привлечения людей к тестированию сайта?

    lxsmkv
    @lxsmkv
    Test automation engineer
    crowd testing называется. Есть платформы.
    Ответ написан
    Комментировать
  • Как организовать распределенное интеграционное тестирование?

    lxsmkv
    @lxsmkv
    Test automation engineer
    дженкинс мастер-слейв
    Ответ написан
    Комментировать
  • Отсутствие валидации - баг или особенность работы программы (архитектурный недочёт)?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Программа при определенных условиях дает сбой. Для тестировщика это баг.

    У нас например не предусмотрена проверка ТЗ, и требований тестировщиками. У нас проверка идет пост-фактум.
    Ничего не поделаешь. Была бы проверка требований - можно было бы на этом этапе предотвратить некоторые недочеты, которые впоследствии бы привели к сбою.

    У нас так: если разраб может решить проблему самостоятельно не нарушая существующих требований и протоколов коммуникации компонент, то он просто делает это. Если нужны правки в спецификации или еще где пишутся отдельные заявления на исправление, и присоединяются к первоначальному заявлению. Все вполне стандартно.
    Ответ написан
    Комментировать
  • Какие книги почитать для знакомства с автоматическим тестированием?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Lessons learned in Software Testing (James Bach, Cem Kaner) - самая самая книга. И вообще это самые крутые чуваки в тестировании, ну еще Dorothy Graham. Их надо читать, все что найдете. Я наслушавшись лекций Джеймса понял что мне дорога в тестировщики.
    Всякие там фреймворки и инструменты это необходимые на практике вещи но они не сделают из вас хорошего тестировщика.
    Ответ написан
    Комментировать