четверг, 9 января 2014 г.

В помощь маленьким

Когда я только уходила на фриланс одним из самых больших кайфов в начале работе было то, что ТЕПЕРЬ Я ОТВЕЧАЮ ТОЛЬКО ЗА СЕБЯ. Видимо, слишком рано мне дали создавать отдел и руководить людьми. Не была я к этому готова тогда.

Но время идёт и меняется. И сейчас у меня снова появился джуниор, которого я учу плохому потихоньку воспитываю. Конечно, на данный момент это всё происходит совсем не так, как это было 2,5 года назад, когда мне подсунули первого человека, не знающего ничего о тестировании. И это - о, Боги! - мне начинает нравиться. Хотя до этого я плевалась.

Так о чём это я? Ах, да.

Все мы знаем, что над любым элементом можно производить 4 действия:

1. Создание
2. Просмотр
3. Редактирование
4. Удаление

И на основе этих действий строятся все тест-кейсы, чек-листы, майнд-карты и вообще всё.
А так как я сейчас сбросила на человека рутину смотрю, как человек может составить тест-кейсы, то в помощь я сделала шпаргалку, что проверяется на каждом действии:

Действие при работе с элементом
Необходимая проверка
Создание элемента:
  1. Создание элемента со всеми пустыми полями
  2. Создание элемента с незаполненными обязательными полями
  3. Создание элемента с незаполненными необязательными полями
  4. Создание элемента с неверными значениями в полях (спец. символы,
    скрипты, для даты - дата из будущего, дата из прошлого, неверный
    формат даты и т.д.)
  5. Создание элемента с данными, уже существующими в системе
  6. Отмена создания элемента с пустыми полями
  7. Отмена создания с заполненными полями 
Редактирование элемента:
  1. Удаление всех данных и сохранение элемента
  2. Удаление данных из обязательных полей и сохранение
  3. Удаление данных из необязательных полей и сохранение
  4. Изменение данных на корректные
  5. Изменение данных на те, которые уже существуют в системе
  6. Изменение данных на неверные (спец. символы,
    скрипты, для даты - дата из будущего, дата из прошлого, неверный
    формат даты и т.д.)
  7. Сохранение элемента без изменения данных
  8. Изменение данных и отмена редактирования
  9. Отмена редактирования
Просмотр элемента:
  1. Отображение данных после создания
  2. Отображение данных после редактирования (в списках элементов, на форме элемента,
    в элементах, связанных с изменённым) 
  3. Отображение данных после отмены редактирования (в списках элементов, на форме элемента,
    в элементах, связанных с изменённым) 
  4. Двойное открытие формы просмотра
Удаление элемента:
  1. Удаление только что созданного своим пользователем элемента
  2. Удаление элемента, созданного другим пользователем
  3. Удаление элемента, используемого в других айтемах
  4. Отмена удаления


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

7 комментариев:

  1. про возможности работы в системе с нескольких клиентов:
    - попытка просмотра/редактирования/удаления элемента, только что удаленного с другого клиента
    - попытка сохранить после редактирования элемент, только что удаленный/отредактированный с другого аккаунта (те наш элемент потрогали уже после того как мы открыли форму)

    ОтветитьУдалить
    Ответы
    1. О, вот про многопользовательский режим вообще из головы вылетело. Спасибо!

      Удалить
  2. 5. Хранение.
    ну или уточнить "любым элементом в UI"

    ОтветитьУдалить
    Ответы
    1. Хранение да, не рассматривала.
      Надо будет тоже расширять тогда чуть позже.
      Спасибо!

      Удалить
  3. Может быть актуально Редактирование, Просмотр, Удаление элементов/файлов созданных в предыдущих релизах и создание элемента с дефолтными параметрами (если есть).

    ОтветитьУдалить
  4. Анонимный10 января, 2014 12:52

    Удаление бывает нескольких типов:
    1) жесткое - полностью удаляется из системы (БД и т.п.)
    2) мягкое - элемент помечается как удаленный
    В этом случае
    1) проверить, что элемент реально удален
    2) мягко удаленный элемент не доступен в других местах на просмотр, редактирование и т.п.
    3) восстановить удаленный элемент
    4) создать новый элемент копию удаленного

    Следующее: связи мастер-слейв
    1) при удалении мастера, что происходит со слейвами - удаляются, остаются не привязанными и т.п.

    Еще одно: если ведется история изменения сущностей
    1) проверить. что операции логируются

    И напоследок: автозначения полей
    1) дата создания (изменения, удаления и т.п.)
    2) значения по умолчанию

    ОтветитьУдалить
  5. В созданиии пункт 1 - частный случай пунктов 2 и 3, поэтому можно его или опустить, или заменить на "При создании нового элемента заполняются поля по умолчанию".

    ОтветитьУдалить