Все разработчики автоматизированных тестов рано или поздно сталкиваются с проблемой - "то, что есть в тулзе, которую я юзаю, явно не достаточно и надо что-то делать".
Мы поговорим с чего начать и чем продолжить, так чтоб получить действительно хорошее решение для автоматизированного тестирования. Обсудим интеграцию с continues integration и реализации систем репортинга. За опорный пример возьму фреймворк на базе Selenium.
5. Попытка не пытка ... шаг 2
Registration.java Send mail. java Receive mail. java
@before class
public void setUp() throws Exception {
…}
@test
public void openGoogle() throws Exception {
…}
@test
public void search4RC() throws Exception {
…}
@test
public void openGmail() throws Exception(){
…}
@test
public void createAcc() throws Exception(){
…}
@test
public void doCreated() throws Exception(){
…}
@test……
@test
public void deleteAcc() throws Exception(){
…}
Как-то много повторений одних и тех же действий ... хмм
Dnepr mini conference 5
6. Убрать повторения
@test
public void openGmail() throws Exception(){
…}
@test
public void createAcc() throws Exception(){
…}
@test
public void doCreated() throws Exception(){
…}
@test
public void deleteAcc() throws Exception(){
…}
@test
public void doDeleted() throws Exception(){
…}
Helper.RegisterNewUser(String userName, String pwd)
Helper.DeleteUser(String userName, String pwd)
Dnepr mini conference 6
7. И что же получается?
Програмный код
Тест 1 Це Helper 1
дальссе, насяльн
Тест 2 Helper 2
ика?
Тест 3 Helper 3
Тест 4 Helper 4
Тест 5 Helper 5
Тест 6 Helper 6
Тест 7 Helper 7
Locator.properties User.properties
Footer Text 7
8. Опять мухи и котлеты
Тесты Програмный код
Тест 1 Helper 1 Helper 4
Тест 2 Helper 2 Helper 5
Тест 3 Helper 3 Helper 6
Тест 4
GMail
Тест 5
Тест 6
Тест 7
Locator.properties
User.properties
Dnepr mini conference 8
9. И как это выглядит?
Test.xls Locator.prop User.prop
Code.jar
CMD
C:/>java –jar code.jar
Report in
Detailed Full size mail with
Report.html screenshots small
screenshots
Footer Text 10/31/2011 9
10. Зачем это все делать?
Цели которые стоит преследовать при создании:
1. Цена внесения изменений.
1.1. Если надо добавить тесты, это делается без
вмешательства в код
1.2. Если надо изменить код, то при этом не затрагиваются
тесты
2. Способность интеграции в continues integration model.
3. Развертывание окружения для проведения автоматизированного
тестирования должно занимать минимум времени и требовать
минимум вспомагательного ПО.
4. Репортинг должен быть полным, понятным и таким, который
можно показать не только команде, но и заказчику.
Dnepr mini conference 10
11. Всем спасибо, вопросы в
студию.
С вами был
Артем Розуменко
Email: artyom.rozumenko@gmail.com
Web: http://qastories.blogspot.com
Dnepr mini conference 10/31/2011 11