Перейти к содержимому

Фотография

Тестирование сайта


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 n-andriy

n-andriy

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • Город:Киев

Отправлено 08 августа 2012 - 06:17

Добрый день. Я начинающий тестировщик и хочу уяснить подход к тестированию веб-приложения. Допустим, стоит задача: протестировать интернет-магазин. Мой вопрос к аудитории: с чего начинать, какой подход более правильный?

Вот что я надумал по этому поводу, а вы подправьте меня пожалуйста, если что не так:

1. Спецификации нет. Я открываю этот сайт и знакомлюсь с ним: что он представляет из себя, какие функции в него заложены и т.п.
2. Поклацав по ссылкам, ознакомившись, я набрасываю на листочке возможные варианты тестов. Здесь могут быть такие варианты:
2.1. Тестирование кроссбраузерности веб-приложения
2.2. Тестирование правильности перехода по ссылкам (сразу возник вопрос: а все ли ссылки проверять, или достаточно проверки какого-то процента от общего количества ссылок?)
2.3. Тестирование формы обратной связи (отправить сообщение не вводя ничего, неправильно ввести адрес почты, правильно ли отображаются сообщения об ошибках и.т.п.)
2.4. Тестирование формы регистрации (здесь же проверить корректность авторизации с помощью соц.сетей)
2.5. Тестирование фильтра товаров (ввести неправильный формат цен, проверка на корректность фильтрации по одному-двум запросам и т.п.)
2.6. Тестирование корзины (удаляются ли товары из заявки, правильно ли считается общая сумма заказа, правильно ли отображаются данные о заказчике и т.п.)
2.7. Тестирование интерфейса (общий вид страницы, качество рисунков, корректность текста с точки зрения орфографии т.п.)

Сюда еще конечно надо добавить нагрузочное тестирование, тестирование уязвимости, однако с этими видами тестирования я пока на практике не работал.

Буду благодарен за ваши ответы!
  • 0
Do what you love, love what you do!

#2 Future

Future

    Опытный участник

  • Members
  • PipPipPipPip
  • 261 сообщений
  • Город:Москва

Отправлено 08 августа 2012 - 06:51

Я приведу пример, как я тестирую приложение (не обязательно веб) когда нет спек и каких-то тест планов.

Во-первых в голове у меня есть умный пользователь, и проблемный пользователь. В процентном соотношение втестах получается 1/9. Т.е. 90% тестов будут т.н. негативные.

Во-вторых, беру умного пользователя и выполняю стандартные его кейсы (при условии что там простой бизнес, а не выполнение банковских операций).

В-третьих, начинаю смотреть безопасность (как правило на достаточно поверхностном уровне).

В-четвертых, подключаю к тестированию проблемного пользователя и стараюсь как можно больше проверить негативных сценариев.

В-пятых, начинаю проверять юзабилити продукта.

В-шестых, (иногда этот пункт может быть на втором месте) общаюсь с пользователями и уточняю что чаще всего они делают, если есть возможность.

Теперь если брать вашу задачу. У нас есть веб магазин.

Я бы тестировал так:

1) Разделил бы тестирование админки и пользовательской части (далее буду писать только для пользователя)

2) Зарегистрировался бы в магазине, попробовал бы залогинится и походить по сайту. (важно что бы ничего не отвалилось)

3) Попробовал бы что-то купить и удалить что-то из покупок.

4) Зарегистрировал бы проблемного пользователя, со всевозможными ситуациями при авторизации (почитайте про тестирование безопасности).

5) Затем проверил бы негативные сценарии, например вы совершаете покупку, но не нажимаете подтвердить, а закрываете браузер и заходите снова, на каком этапе у вас будет процесс? Тут сами подумайте

6) Тут проверил бы кросс браузерность, а так же поигрался бы с различным разрешением на мониторе (жалетельно иметь монитор поддерживающий больше чем FullHD)

7) Т.к. в вашем случае юзеров пока нет, то посмотрел бы просто на сайты конкурентов и из этого сделал бы какие-то выводы для себя.

Нагрузка, автоматизация это другое и делается, ТОЛЬКО после ручного тестирования (в вашем случаем). Мой ответ несколько общий получился, но что бы писать конкретные сценарии нужно учитывать специфику самого сайта, то на чем он сделан, какие технологии, какие цели и еще кучу факторов...
  • 3

#3 n-andriy

n-andriy

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • Город:Киев

Отправлено 08 августа 2012 - 10:27

У меня возник такой вопрос: опишу ситуацию. Я добавил товар (1 шт.) в корзину. Далее продолжаю покупки, "хожу" по сайту. Потом захожу в свою корзину, ставлю курсор на textbox с "1", нажимаю Backspace (поле с количеством становится пустым). Далее нажимаю "Продолжить покупку" либо "Оформить заказ" и система мне все равно показывает, что я заказываю товар в количестве 1 шт., хотя перед этим я затер значение. Можно ли считать это багом ?
  • 0
Do what you love, love what you do!

#4 Future

Future

    Опытный участник

  • Members
  • PipPipPipPip
  • 261 сообщений
  • Город:Москва

Отправлено 08 августа 2012 - 12:36

Я бы отнес это к багу. НО реализация вообще странная, логичнее делать так, после того как заказ сформирован, вы походили по сайту и затем перешли в режим редактирования, то он у вас по своей логики ничем не отличается от составления первоначального заказа, только лишь тем, что у вас на входе уже есть какие-то данные.
  • 1

#5 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 08 августа 2012 - 13:59

Добрый день.
Так как тут явно будет использоваться ad-hoc тестирование (никаких доков к сайту нет, все тесты будут основываться на предыдущем опыте и знаниях, и интуиции), то я бы поступил так:
1. сначала бы ознакомился с сайтом со стороны незалогиненного пользователя + выписал бы себе список функционала, доступного для такого пользователя;
2. зарегистрировался и походил бы по внутренним страницам сайта + аналогично пункту 1 выписал бы себе список функционала, доступного для залогиненного пользователя.
В случае, если бы пункт 2 оказался невыполнимым, то на основе списка функционала из списка пункта 1, провел бы тестирование только со стороны незалогиненного пользователя.
В случае, если пункт 2 выполним, то я бы имел наиболее полный для меня список текущего функционала сайта, на основе которого я бы в первую очередь набросал себе тесты для позитивного тестирования, а затем для негативного. Далее я бы выполнил полученные тесты, параллельно обращая внимание на юзабилити сайта и отмечая проблемные в юзабилити моменты.
Затем я бы зарегистрировал еще одного пользователя, сделал бы им пару заказов и провел бы простое тестирование безопасности, чтобы убедиться, что пользователи не могут получить доступ к данным друг друга.

У меня возник такой вопрос: опишу ситуацию. Я добавил товар (1 шт.) в корзину. Далее продолжаю покупки, "хожу" по сайту. Потом захожу в свою корзину, ставлю курсор на textbox с "1", нажимаю Backspace (поле с количеством становится пустым). Далее нажимаю "Продолжить покупку" либо "Оформить заказ" и система мне все равно показывает, что я заказываю товар в количестве 1 шт., хотя перед этим я затер значение. Можно ли считать это багом ?



Я бы посчитал это багом, так как кол-во единиц покупаемого товара не должно быть пустым, менее 1 или отрицательным. Также на мой взгляд кол-во товара должно выбираться либо из выпадающего списка, либо регулироваться спин боксом, но никак не редактироваться вручную с помощью клавиши Backspace.

Сообщение отредактировал nuc: 08 августа 2012 - 14:05

  • 4

#6 n-andriy

n-andriy

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • Город:Киев

Отправлено 08 августа 2012 - 14:13

Добрый день.
Так как тут явно будет использоваться ad-hoc тестирование (никаких доков к сайту нет, все тесты будут основываться на предыдущем опыте и знаниях, и интуиции), то я бы поступил так:
1. сначала бы ознакомился с сайтом со стороны незалогиненного пользователя + выписал бы себе список функционала, доступного для такого пользователя;
2. зарегистрировался и походил бы по внутренним страницам сайта + аналогично пункту 1 выписал бы себе список функционала, доступного для залогиненного пользователя.
В случае, если бы пункт 2 оказался невыполнимым, то на основе списка функционала из списка пункта 1, провел бы тестирование только со стороны незалогиненного пользователя.
В случае, если пункт 2 выполним, то я бы имел наиболее полный для меня список текущего функционала сайта, на основе которого я бы в первую очередь набросал себе тесты для позитивного тестирования, а затем для негативного. Далее я бы выполнил полученные тесты, параллельно обращая внимание на юзабилити сайта и отмечая проблемные в юзабилити моменты.
Затем я бы зарегистрировал еще одного пользователя, сделал бы им пару заказов и провел бы простое тестирование безопасности, чтобы убедиться, что пользователи не могут получить доступ к данным друг друга.


Что подразумевается под "пункт 2 оказался невыполним" ?
В данном случае получается, что функционал зарегистрированного пользователя от незарегистрированного отличается тем, что при формировании заказа не нужно вводить никаких данных, т.к. адрес, фио и т.д. автоматически подставляются в форму заказа из пользовательской учетной записи. В случае незареганного пользователя есть выбор: либо залогиниться, либо ввести вручную все необходимые данные.
  • 0
Do what you love, love what you do!

#7 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 08 августа 2012 - 14:19


Добрый день.
Так как тут явно будет использоваться ad-hoc тестирование (никаких доков к сайту нет, все тесты будут основываться на предыдущем опыте и знаниях, и интуиции), то я бы поступил так:
1. сначала бы ознакомился с сайтом со стороны незалогиненного пользователя + выписал бы себе список функционала, доступного для такого пользователя;
2. зарегистрировался и походил бы по внутренним страницам сайта + аналогично пункту 1 выписал бы себе список функционала, доступного для залогиненного пользователя.
В случае, если бы пункт 2 оказался невыполнимым, то на основе списка функционала из списка пункта 1, провел бы тестирование только со стороны незалогиненного пользователя.
В случае, если пункт 2 выполним, то я бы имел наиболее полный для меня список текущего функционала сайта, на основе которого я бы в первую очередь набросал себе тесты для позитивного тестирования, а затем для негативного. Далее я бы выполнил полученные тесты, параллельно обращая внимание на юзабилити сайта и отмечая проблемные в юзабилити моменты.
Затем я бы зарегистрировал еще одного пользователя, сделал бы им пару заказов и провел бы простое тестирование безопасности, чтобы убедиться, что пользователи не могут получить доступ к данным друг друга.


Что подразумевается под "пункт 2 оказался невыполним" ?
В данном случае получается, что функционал зарегистрированного пользователя от незарегистрированного отличается тем, что при формировании заказа не нужно вводить никаких данных, т.к. адрес, фио и т.д. автоматически подставляются в форму заказа из пользовательской учетной записи. В случае незареганного пользователя есть выбор: либо залогиниться, либо ввести вручную все необходимые данные.


Немного некорректно выразился. Здесь я имел ввиду, что пункт 2 мог бы оказаться невыполнимым из-за неработающей формы регистрации. В этом случае остается только указать на невозможность проверки формы регистрации и внутреннего функционала сайта (например, подключение к профилю клиента разных кредитных карт, редактирование профиля клиента и др.).
  • 1

#8 Norf

Norf

    Новый участник

  • Members
  • Pip
  • 57 сообщений
  • ФИО:Шлыков Константин
  • Город:Барнаул

Отправлено 09 августа 2012 - 03:54

У меня возник такой вопрос: опишу ситуацию. Я добавил товар (1 шт.) в корзину. Далее продолжаю покупки, "хожу" по сайту. Потом захожу в свою корзину, ставлю курсор на textbox с "1", нажимаю Backspace (поле с количеством становится пустым). Далее нажимаю "Продолжить покупку" либо "Оформить заказ" и система мне все равно показывает, что я заказываю товар в количестве 1 шт., хотя перед этим я затер значение. Можно ли считать это багом ?

Хм, вроде как по GUI Guidelines в таком случае возможность продолжить должна отсутствовать (например, кнопки "Продолжить покупку" и "Оформить заказ" неактивны). Или подобные требования непринципиальны? Вопрос скорее к коллегам с опытом, чем к автору темы.
  • 0

#9 Pabedinov

Pabedinov

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Пабединов Виктор Генадьевич

Отправлено 14 февраля 2018 - 09:09

У меня есть вопрос как у начинающего тестировщика, как вы относитесь в программам с автоматизацией тестов , например "куа робот", или всё таки, как в старые добрые времена руки практичнее?


  • 0

#10 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 14 февраля 2018 - 11:35

Все эти сервисы подходят для автоматизации простеньких сценариев. 

 

Построить на их базе серьезный автоматизированный процесс с множеством тест-кейсов, переключением между средами, встраиванием в непрерывную интеграцию и т.п. - практически невозможно. 

 

Но в качестве подспорья для ручного тестирования - почему бы нет. Вполне можно какую-то рутину туда запихать.


  • 0

#11 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 14 февраля 2018 - 12:20

Все эти сервисы подходят для автоматизации простеньких сценариев. 

 

Построить на их базе серьезный автоматизированный процесс с множеством тест-кейсов, переключением между средами, встраиванием в непрерывную интеграцию и т.п. - практически невозможно. 

 

Но в качестве подспорья для ручного тестирования - почему бы нет. Вполне можно какую-то рутину туда запихать.

Нельзя.

 

Автоматизируйте другие процессы. Например, обслуживание тестовых стендов.


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#12 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 14 февраля 2018 - 15:06

Да можно.

У меня на одном проекте тестировщик автоматизировал процесс создания шаблонов форм и последующего их заполнения (чем собственно этот сервис и занимается). Там десяток правил на одно поле может быть, а поля разных типов - вручную проверять муторно, глаз замыливается, а за день стабильно один релиз выкатывают. Тестировщик проявил инициативу, облегчил себе процесс, показал на пальцах, что это эффективно. 


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных