среда, 1 июля 2015 г.

Сборщик мусора. The Garbage Collector Tour

Входит в «Туры по бизнес-району», Tours of the Business District

Вольный перевод статьи Виттакера из книги Exploratory Software testing. Туры помогают искать баги, взглянув на систему по-новому. Тестировщик выбирает тур и следует его цели, не отвлекаясь ни на что другое. Словно турист в незнакомом городе, составил план и пошел!

ShowImage.jpg


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

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

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

Основные функции Дадаты

Начнем с основного функционала Дадаты — стандартизация и подсказки.

Стандартизация может быть по одному человеку и через файл. Как можно «сломать» обработку по 1 человеку? Пожалуй, только если ввести откровенный бред и нажать «Проверить».


1.png
Ну это явно не телефон, так что ошибка нормальная


Ага, вот и первое сообщений об ошибке! Вполне себе нормальное. По одному человеку больше особо не поломаешь. Пробуем другие поля вводить фигню — собщение такое же. Ок, едем дальше.

Какие требования к файлам?
2.png
Требования к файлу


Excel или CSV, говоришь? На тебе JPG!

3.png
Обойти требования пока не удалось...


Ошибка понятная, система даже дополнительно подсказывает, какие форматы она принимает.

Хорошо, пробуем дальше. Вызываем ошибки, грузя файлы:
— TXT в формате CSV.
— Без расширения в формате CSV.
— Пустой Эксель.
— Эксель с пустым названием.
— Эксель с одной строкой. В Дадате она воспринимается как заголовок, то есть сам файл с данными пустой, это все проверка нижней границы.
— Эксель с максимальным количеством колонок (пошли по верхним границам)
— Эксель с максимальным количеством строк
— Весом более 20Мб: на несколько Кб, на 1 Мб, на 1Гб :)
— CSV с разным количеством колонок в разных строках


Не везде возникнут ошибки, но мы проверяем потенциальные места сбоя.


Что еще есть при загрузке файла? О, на структуре можно выбрать тип данных. Попробуем систему запутать:


4.png
Стандартизируй-ка мне дату рождения «Ольга»!


Не запутывается, редиска… Ладно, что еще? Ага, файл обрабатывается какое-то время!


5.png
А если тебя посередине обломать?


Попробуем прерывать обработку разными способами (подробнее о них см в «Туре, отмененном из-за дождя») — оборвать сетевое соединение, нажать Backspace, кнопку «Назад» в браузере…


Так, дальше. Результат хранится 2 часа, говорите? Обрабатываем файл вечерком и уходим домой. Утром (спустя 12+ часов) возвращаемся к открытой странице со ссылкой на файл и пробуем его скачать


6.png
Как поведет себя ссылка спустя 2 часа?


Пожалуй, с файлом все. Пошли в подсказки. Как можно добиться сообщения об ошибке от них? Да никак. Даже если вводим что-то не то, нам просто не дают подсказок… Это через GUI. А вот через API! Тут уж «разгуляй душа»: ключ не передать, не авторизоваться, неправильный запрос послать, платный запрос без денег отправить… Не будем останавливаться на них сейчас.


Так-с. Основные функции проверили, пошли по неосновным.


Остальные функции Дадаты


Регистрация


Вводим невалидные данные в разные поля. Система ругается только на email, кладем его в копилочку ошибок.


Регистрация.JPG
Все правильно вроде пишет...


Плюс попытки зарегистрировать неуникальную эл. почту — потенциальное место сбоя.


Личный кабинет


Видим поля, которые можно редактировать: имя, email, сумма пополнения баланса.
Все аналогично — невалидные или неуникальные данные.
7.png
В личном кабите потенциальные места ошибок в трех полях — имя, email, сумма пополнения


См также:


Устаревший браузер

Откроем систему в старом и древнем IE — нормальная ошибка, вполне себе модный текст.


9.png
Сообщение «Откажись от IE» вполне себе политкорретно...

Битые ссылки

Напоследок проверим неверные ссылки. Посмотрим, как выглядит ссылка на подсказки — https://dadata.ru/suggestions/.


А если вставить туда что-то левое? Например, https://dadata.ru/test


8.png
Вполне логичная ошибка


Ну нормально…


Приблизим к реальности, битые ссылки часто получают, случайно зацепляя символ, попробуем потыкать ссылки, добивив точки в конце:




Тоже вроде все хорошо. Ну, пожалуй, время тура вышло :-)



Статья написана в помощь студентам моего курса по тестированию.

4 комментария:

  1. Опечатка. "Цель тура: ... но замечания очевидные вещи." Видимо надо "замечая" вместо "замечания"

    ОтветитьУдалить
    Ответы
    1. "исследуя фичу за фичей, модуль за модулей" В последнем слове похоже тоже опечатка.

      Удалить