Cheat Sheet по тестуванню різних функціоналів

Багато хто з нас стикався з проблемою протестувани по максимуму всі можливі кейси в різних функціоналах. Але ми знаходили лише по кускам можливі кейси, а з браком досвіду могли і в загалом пропустити обов'язковий кейс.

TOOLS FOR FIND VULNERABILITY

Логин Свят

1/2/20231 min read

CHEAT SHEET по тестуванню різних функціоналів

Багато хто з нас стикався з проблемою протестувати по максимуму все можливі кейси в різних важливих функціоналах. Але ми знаходили лише по кускам можливі кейси, які потрібно перевірити в тому чи іншому місці, а з браком часу або досвіду не звертаємо уваги на також дуже потрібні кейси, щоб бути впевненим, що наш функціонал працює правильно.

Кейси для Реєстрації:

1) Перевірте відправку пустих полів.

2) Перевірте відправку частково заповненні поля в формі.

3) Перевіряєте відправку даних на пряму на бекенд, в обхід фронтенду за допомогою якогось інструменту.

4) Перевіряєте, що є поле підтвердження пароля, і, що паролі збігаються.

5) Перевіряєте, що є значок ока (показати скритий пароль), та він працює.

6) Перевіряєте, що вивід помилок, при неправильному заповненні поля, мають логічний текст.

7) Перевіряєте, що в полях не затираються введені дані, при помилці під час відправки даних для реєстрації.

8) Переконайтеся, що посилання для підтвердження електронної пошти або телефону було успішно надіслано на електронну адресу або номер телефону користувача.

9) Переконайтеся, якщо користувач не отримав посилання в електронному листі або смс на номер телефона, що є опція відправити запит на підтвердження ще раз.

10) Переконайтесь, що пароль у користувача може бути 64 символи.

11) Переконайтесь, що пароль має містити один символ верхнього регістру, мати число та мати спеціальний знак.

12) Переконайтесь, що пароль хешується належним станом в базі.

13) Переконайтесь, що на сторінці реєстрації є капча, яка буде блокувати автоматичні атаки, що ця капча реалізована не тільки на фронті, а й на бекенді.

14) Перевірити, що тільки реальні (номери чи мила) можуть бути додані.

15) Переконатися, що ТАБ клавіша працює на формах

16) Переконайтеся, що користувачеві заборонено реєструвати обліковий запис із тією самою зареєстрованою електронною адресою, додавши плюс наприклад user+1@gmail.com або взагалі реєструватися двічі на одну і ту же учотку.

17) Переконатися, що користувач не може користуватися функціоналом поки не підтвердить пошту та номер телефону.

18) Переконатись, що виклик підтверджень пошти або на телефона є з ліматованим, бо буде ддос

19) Переконатися, в тому якщо користувач зареєструвався з соц мережі і є вже в базі такий же клієнт зареєстрований з такими же даними, щоб учетки об’єднувалися.

Кейси для Авторизації:

1) Перевірте, що вхід відбувається постійно як натиснути «Запам’ятати мене».

2) Перевірте, що можна увійти з валідними даними.

3) Перевірте, що введений пароль скривається.

4) Перевірити, що знак ока (подивитись скритий пароль) додана на пароль і вона працює.

5) Перевірити, чи присутні повідомлення на сторінці при неправильних введених даних.

6) Перевірити чи відбувається викидування з кабінету, при закінчені часу сесії, при затиснутій гальці "Запам'ятати мене".

7) Перевірити, що можна переключатися за допомогою ТАБ.

8) Перевірте, що можна увійти з клавіши Ентер.

9) Перевірте, що є капча на сторінці входу, а також, що вана реалізована.

10) Перевірити, що є механізм блокування.

11) Перевірити, що сесія яка надається після входу, доступна лише для цього користувача та девайсу.

12) Переконатися, що користувач не виходить із системи після закриття браузеру, а також коли клієнт виходить з сесії, що вона видаляється. 

13) Перевірити час існування сесії.

14) Чи не працює кнопка назад в браузері після виходу з системи.

15) Переконатися, що в урлі немає даних по яким можна зайти, якщо комусь відправити пряму лінку.

16) Перевірити, чи немає SQL ін'єкції.

Кейси для Поновлення пароля:

1) Переконатися, що посилання забули пароль присутнє і воно рефордить до сторінки поновлення паролю.

2) Переконатися, що поле для вводу, куди потрібно поновити пароль працює.

3) Переконатися, що інформація про поновлення приходить до адресата на мило або на номер телефону.

4) Переконатися, що лист приходить до папки вхідні, а не до папки спам.

5) Переконатися, що лист буде отриманий з потрібного ресурсу info@sitename.com, щоб користувач не отримав інфаркт

6) Переконатися, що при помилкових введених даних є якісь повідомлення.

7) Переконатися, що тема в листі про поновлення має характерне ім’я

8) Переконатися, чи викидає користувача з усіх пристроїв, після успішної зміни

9) Переконатися, що не працює старий пароль після заміни на новий

10) Переконатися наскільки довго працює лінка для поновлення пароля, по доброму це 10 хв

11) Переконатися, що лінка не працює декілька разів для поновлення паролю

12) Якщо використовується механізм генерації тимчасового пароля, то перевірити наскільки унікальний генератор цього пароля

13) Переконатися, чи є якась капча на прохання забути пароль, а також перевірити реалізацію її як на фронті так і не беке

Кейси для Зміни пароля, Логіна:

)

1) Переконайтеся, що можна зробити зміни.

2) Переконатися, що новий пароль або логін працює для входу.

3) Переконатися, що нема користувачів, крім адмінів які можуть змінити пароль.

4) Переконатися, що нема CSRF в зміні пароля.

5) Переконатися, що є потреба в підтверджені другого фактора в зміні пароля.

6) Переконатися, що при зміні паролю логіка одна і та ж, що і при реєстрації, а також що логіка однакова з бекендом.

7) Переконатися, чи повідомляємо користувача, що в нього змінили пароль або інші дані для входу.

8) Переконатися, щи викинуло з усіх пристроїв після зміни пароля, де був авторизований користувач

9) Переконатися, що є якась каптча при зміні даних і на бекенді також

10) Переконатися, що не працює старий пароль після заміни на новий

Кейси для Captcha:

1) Перевірте тривалість часу, протягом якого captcha завантажується на веб-сторінку.

2) Перевірте який час очікування у Captcha. За який час капча не встигне перевірити.

3) Перевірте капчу на повільному Інтернеті. Помилки про не працюючц капчу не повино бути

4) Перевірте captcha дабл клік відправки. Помилки про не працюючц капчу не повино бути

5) Перевіряйте, що при перезавантаженні сторінки має відображатися новий код.

6) Переконайтеся, що IP користувача заблокується під час спроби введення недійсної кодової перевірки, після визначенної кількості спроб.

7) Перевірте, чи на всіх потрібних веб-сторінках розміщено капчу.

8) Перевірте, чи відображається captcha з едблок плагіном чи ні.

9) Перевірте, чи веб-сторінка приймає дійсну кодову перевірку чи ні.

10) Переконайтеся, що користувач може запитувати новий код без перезавантаження сторінки.

11) Перевірте, чи додано параметр аудіо для captcha відповідно до вимоги.

12) Перевірте, чи відображаємо нову капчу, якщо користувач додає неправильну відповідь.

13) Перевірте повідомлення про помилку, якf відображається під час очікування капчі

14) Переконайтеся, що повідомлення про помилку має відображатися, якщо капчу не заповнено і намагаються підтвердити дії на сторінці

15) Перевірте, чи відображається правильне повідомлення про помилку, якщо користувач не заповнив captcha правильно.

16) Перевірте, чи відображається повідомлення про помилку, якщо капчу частково заповнено користувачем.

Кейси для ОТП:

1) Перевірте, чи згенеровано дійсний і правильний OTP.

2) Перевірте, чи код OTP має бути дійсним лише один раз.

3) Переконайтеся, що кількість згенерованого коду OTP не повинна перевищувати необхідну кількість.

4) Перевірте, чи кількість згенерованого коду OTP не повинна бути меншою за необхідну.

5) Переконайтеся, що код OTP надіслано користувачеві успішно чи ні, вчасно чи ні.

6) Перевірте та замірте тривалість часу, протягом якого користувач отримав OTP, надісланий електронною поштою або телефон

7) Перевірте, чи відображається правильне інформаційне повідомлення, якщо користувач додає дійсний код OTP.

8) Переконайтеся, що повідомлення про помилку має відображатися у випадку, якщо користувач додає недійсний код OTP.

9) Перевірте, що код OTP має час закінчення. Програма не повинна приймати код OTP після закінчення терміну дії.

10) Переконайтеся, що користувач може запитувати новий код OTP, натиснувши посилання або кнопку надіслати код повторно.

11) Перевірте, натиснувши на посилання Повторно надіслати код OTP користувачеві, чи приходть новий код

12) Перевірте, чи блокується тимчасово користувач, при частому запиті на новий код. Наприклад даємо 5 раз викликати.

13) Перевірте, чи встановлено часові обмеження між повторними викликами OTP. Наприклад 120 секунд між запитами

14) Переконайтеся, що код OTP чутливий до регістру чи ні.

15) Переконайтеся, що код OTP є лише числовим або буквено-цифровим.

16) Переконатися, що на бекенді не можна обійти логіку фронта.

Кейси для Оплати Платного плану:

1. Чітко перевірте функції на сторінці цін.

2. Перевірте написання вмісту на сторінці з цінами.

3. Перевірте випробувальний період у днях або через запити в БД належним чином.

4. Переконайтеся, що термін дії пробної версії вимикається при придбані платного плану.

5. Не дозволяйте користувачеві купувати план без підтвердження електронної пошти або номеру телефона

6. Перевірте, коли користувач придбає план, статус плану користувача має бути оновлено на платний без примусового виходу та входу знов в учотку.

7. Перевірте, чи доступний для користувача рахунок-фактура, створений під час придбання плану. Надіслано електронною поштою або відображається в кабінеті користувача.

8. Перевірте, чи може користувач завантажити рахунок-фактуру.

9. Перевірте, чи надіслано рахунок-фактуру на зареєстровану електронну адресу користувачеві.

10. Перевірте вхід користувача за допомогою соціальних посилань, щоб придбати план.

11. Переконайтеся, що план, призначений користувачеві, збігається.

12. Перевірте запити всіх послуг, які підходять під цей тарифний план.

13. Перевірте, чи відображаються інші тарифні плани в профілі користувача.

14. Переконайтеся, що термін дії придбаного плану відображається в профілі. Чи відображати сповіщення про закінчення терміну дії плану на інформаційній панелі/профілі. На електрону пошту може також бути відправленно повідомлення.

15. Перевірте, чи додано посилання на оновлення плану на інформаційну панель.

16. Перевірте, клацнувши посилання для оновлення, яке має переспрямовувати на сторінку плану та цін. Користувач не повинен користуватися послугами після закінчення терміну дії плану, і користувач має поновити план.

17. Переконайтеся, що користувач може знизити свій план чи ні.

18. Перевірте, чи може користувач поновити свій план чи ні, після того, як термін дії плану закінчиться та користувач поновить свій план, чи все в нього позлітає з налаштувать в платних функціях.

19.Перевірте, якщо користувач може придбати новий план, це додасть запити до вже придбаного плану або ні, відповідно до вимог.

20. Переконайтеся, що термін дії плану збільшився, якщо користувач оновлює свій план автоматично чи руками.

21. Переконайтеся, що автоматичне поновлення чітко зазначено на налаштувать тарифних планів.

22. Переконайтеся, що користувач може скасувати свій план у будь-який час.

23. Переконайтеся, що користувач може успішно придбати план після того, як користувач скасовує свій план.

24. Перевірте, якщо користувач скасовує свій план, то в нього пропадуть функції Pro.

25. Переконайтеся, що користувач не може отримати доступ до Pro, якщо термін дії плану закінчився.

Кейси для Завантаження Репортів:

1. Перевірте номер сторінки документа, доданий до звіту у форматі PDF.

2. Переконайтеся, що логотип веб-сайту присутній у звіті.

3. Перевірте, чи має бути написана назва звіту.

4. Переконайтеся, що від початку до кінця звіту не повинно бути порожніх сторінок.

5. Переконайтеся, що результати у звіті та розділі результатів не відрізняються.

6. Перевірка порожнього звіту без вмісту не повинна завантажуватися.

7. Переконайтеся, що той самий файл не повинен завантажуватися для двох різних користувачів, які входять у систему з різними обліковими записами. Якщо цього не було передбачувано логікою системи

8. Перевірте, щоб назва звіту відповідала назві інструмента.

9. Переконайтеся, що якщо користувач натискає кнопку завантажити звіт в іншому форматі, то звіт має бути в тому форматі

10. Перевірте, щоб формат вмісту не порушувався у звіті.

11. Переконайтеся, що вміст у кінці сторінки звіту не має бути обрізаним.

12. Перевірте посилання, додане до звіту, має бути доступним для натискання.

13. Переконайтеся, що клацання посилання у звіті має відкрити нову вкладку.

14. Перевірка інформації у звіті повинна бути короткою та чіткою.

15. Перевірте діаграми, щоб колір не заважав звіту.

16. Перевірте та порівняйте роздрукований звіт з результатом та електронним звітом.

17. Перевірте читабельність звіту.

18. Перевірка звіту,якщо є спільний доступ за URL-адресою, має успішно відкритися в новому браузері.

19. Перевірте розташування елементів, логотипів і зображень у звіті, не повинно порушується навіть одним пікселем.

20. Переконайтеся, що у звіті у форматі pdf оброблено спеціальні символи.

21. Перевірте, щоб результати, згенеровані різними мовами, належним чином відображалися на завантажених звітах.

22. Звіт перевірки слід провести і на мобільному телефоні.

Кейси для Пошуку:


1. Переконайтеся, що поле пошуку є.

2. Перевірте, чи відображається текст в полі, під час заповнення в пошуку чи ні.

3. Переконайтеся, що в полі є значок пошуку.

4. Перевірте наявність курсора під час натискання піктограми пошуку.

5. Перевірте, чи функціонує пошук і генерує правильний результат по ключовим словам чи ні.

6. Переконайтеся, що пошук працює, додавши ключові слова та натиснувши клавішу Enter

7. Переконайтеся, що пошук працює, додавши ключові слова та клацнувши кнопку пошук курсором.

8. Перевірте, чи може користувач вставити ключове слово за допомогою миші.

9. Перевірте повідомлення про помилку, яке відображається, ввівши в пошук недійсні ключові слова і натисніть кнопку пошуку.

10. Переконайтеся, що повідомлення про помилку має відображатися для порожнього введення.

11. Перевірте та спостерігайте, скільки часу потрібно для отримання результату пошуку.

12. Перевірте доданий Loader, якщо для отримання результату потрібен певний час.

13. Перевірте результати пошуку, віддані в результаті пошуку, відповідно до вимог вашої логіки.

14. Перевірте додану пагінацію, якщо результат пошуку перевищить кількість сторінок.

15. Перевірте, чи доступна розбивка на сторінки, натиснувши на наступний, попередній номер сторінки.

16. Перевірте, чи відображаються пропозиції під час додавання ключового слова до пошуку.

17. Перевірте максимальний і мінімальний діапазон для ключового слова або фрази в пошуку.

18. Перевірте, чи відображається автокомпліт слова або фрази, при додаванні слова чи ні.

19. Перевірте, чи додано ключові слова, які шукали раніше, до результатів пошуку чи ні. Це повинно бути доданим.

Кейси для Кнопки Кошик:

1.Перевірте, чи присутня кнопка «Додати до кошика» на веб-сторінці.

2. Переконайтеся, що додані користувачем продукти мають бути додані на сторінку кошика.

3. Переконайтесь, що користувачі можуть додавати більше одного товару на сторінку кошика.

4. Перевірте, чи чітко вказана ціна вибраного продукту на сторінці кошика.

5. Перевірте загальну ціну, якщо пропонується якась знижка.

6. Перевірте, чи користувач може подати якийсь промокод.

7. Переконайтеся, що загальна ціна перед кожним продуктом відображається на веб-сторінці.

8. Перевірте, чи вказані ціни на доставку на сторінці кошика.

9. Перевірте, чи відображається загальна кількість вибраного товару на сторінці кошика.

10. Переконайтеся, що очікуваний час доставки продукту зазначено на сторінці.

11. Перевірте, чи може користувач видалити вибраний продукт із кошика.

12. Перевірте, чи може користувач додавати той самий продукт кілька разів.

13. Перевірте, додавши або видаливши той самий або новий продукт, чи нові ціни оновлюватися на сторінці кошика.

14. Перевірте товари з різними валютами, при додавані в кошик.

15. Перевірте як відображаються ціни в кошику, коли у товара 3 або більше цифр після запяої (дробні ціни)

Кейси для Кнопки Видалити:

1. Переконайтеся, що кнопка «Видалити» присутня на сторінці

2. Перевірте, чи вся кнопка доступна для натискання

3. Перевірте повідомлення про підтвердження у спливаючому вікні або сповіщенні, яке відображається, коли користувач натискає на видалити кнопку.

4. Переконайтеся, що запис не слід видаляти, коли користувач натискає НІ у спливаючому вікні підтвердження.

5. Переконайтеся, що функція видалення працює, коли користувач натискає кнопку ТАК у спливаючому вікні підтвердження.

6. Запис має бути успішно видалено з бази даних, а не тільки на юайке, коли користувач натискає Так.

7. Перевірте систему, яка пропонує користувачеві відновити видалений запис, натиснувши Скасувати в спливаючому вікні, коли користувач видалить запис.

8. Перевірте, чи може користувач видалити запис, натиснувши кнопку видалення, які присутні на клавіатурі.

9. Перевірте, коли користувач видаляє звіт, то він має бути перенаправлений до потрібної сторінки.

10. Перевірте, чи може користувач одночасно видалити кілька файлів.

11. Перевірте видалення кількох файлів, користувач може вибрати записи чекбоксом.

12. Переконайтеся, що повідомлення про помилку повинно відображатися, якщо користувач натискає кнопку «Видалити». без вибору файлу.

13. Переконайтеся, що лише вибрані користувачем файли мають бути видалені.

Кейси для Випадаючого списка:

1. Перевірте, клацнувши розкривне меню, має відобразитися вибраний пункт.

2. Перевірте, чи працює функція прокручування вниз у розкривному списку, якщо список дуже великий.

3. Переконайтеся, що розкривний список можно прокрутити вниз, натиснувши клавішу зі стрілкою вниз на клавіатурі.

4. Переконайтеся, що вибране за замовчуванням значення відображається у розкривному списку чи ні.

5. Переконайтеся, що спадне меню не можна редагувати.

6. Перевірте, чи відповідає порядок значень у спадному списку вимогам.

7. Переконайтеся, що у спадному списку немає пустих значень.

8. Перевірте, чи значення спадного списку чутливі до регістру чи ні, як вимагає система.

9. Переконайтеся, що значення зі списку можуть бути вибраними, натиснувши на алфавіт з клавіатури.

10. Розкривний список не повинен ламатися в усіх браузерах.

11. Перевірте правопис значень у розкривному списку.

12. Перевірте, чи вирівняні всі значення у спадному списку.

13. Перевірте, чи додано належний інтервал між значенями в спадному списку.

14. Перевірте довжину тексту на максимальну кількість символів або слів, які відображаються в спадному списку.

15. Переконайтеся, що користувач може вибрати будь-яке значення зі спадного меню, натиснувши кнопку на клавіатурі.

Якщо є пошук випадаючому списку

1. Переконайтеся, що поле пошуку можна натискати.

2. Переконайтеся, що текст додається в поле пошуку з клавіатури.

3. Перевірте, чи користувач може вставляти текст у поле пошуку за допомогою миші чи через клавіатуру.

4. Переконайтеся, що значення зі списку має бути відобразитися, якщо користувач додає дійсне ключове слово.

5. Переконайтеся, що повідомлення про помилку має відображатися у випадку, якщо користувач додає недійсне ключове слово.

кейси для Лінок:


1. Перевірте, чи можна натиснути посилання, додане на сторінку

2. Перевірте, чи додано текст до посилання

3. Перевірте, чи правильна URL-адреса додана до посилання.

4. Переконайтеся, що посилання додано з правильним протоколом передачі гіпертексту https://.

5. Переконайтеся, що посилання відкривається в тій самій вкладці або новій вкладці, натиснувши на посилання, відповідно до ваших вимог.

6. Перевірте, щоб колір тексту посилання не збігався з вмістом іншого тексту на сторінціі

7. Переконатися, що змінюється курсор при наведенні миші.

8. Переконайтеся, що текст посилання не містить орфографічних помилок.

9. Перевірте, чи додається спливаюча підказка до посилання під час наведення курсора миші.

10. Перевірте, чи відображається Loader при натисканні на посилання, якщо сторінка завантажується довго

11. Перевірте, чи можна натиснути на все зображення, якщо посилання додано до зображення, чи буде перенаправлено на потрібну сторінку.

12. Переконайтеся, що зображення не пошкоджено, якщо до нього додається посилання.

13. Перевірте правильність розміщення слайдів веб-сторінки, якщо на них додано посилання.

кейси для Ероров:

1. Перевірте орфографію повідомлення про помилку

2. Перевірте правильність граматики повідомлень про помилки.

3. Перевірте, чи відображається повідомлення про помилку для відправки порожнього поля.

4. Перевірте, чи відображається повідомлення про помилку при завантажені порожнього файлу.

5. Перевірте, чи повинно відображатися повідомлення про помилку щодо максимальної довжини файлу.

6. Перевірте, чи повідомлення про помилку, яке відображається для файлів, які не підтримується інструментом.

7. Як повідомлення про помилку відображається для порожнього поля або про обмеження цього поля.

8. Переконайтеся, що повідомлення про помилку повинно відображатися у випадку, якщо користувач додає мінімум слів або букв

9. Перевірте, чи має відображатися повідомлення про помилку щодо недійсної URL-адреси.

10. Перевірте, що повідомлення про помилку має відображатися, якщо код до каптчі не підійшов.

11. Переконайтеся, що всіх помилок використовується однаковий формат повідомлення.

12. Червоний колір використовується для відображення повідомлення про помилку користувачеві.

13. Для інформації та підтвердження можна використовувати синій або зелений кольори.

14. Перевірте тривалість відображення повідомлення про помилку.

Характеристики хороших повідомлень про помилки в основному включають.

* Повідомлення про помилку має бути коротким, зрозумілим і добре поясненим користувачу.

* Повідомлення про помилку має чітко відображатись як інструкція, а не повино бути неоднозначним.

* Повідомлення про помилки слід писати витончено й не звинувачувати користувача.

* Повідомлення про помилки залежать від поля. Повідоблення повинні бути прив'язаними до поля, у якому виявлено помилку.

* Опишіть чіткі вказівки для користувача. Користувачі не повинні почуватися заблокованими та забутими.

кейси для УРЛ:

1. Переконайтеся, що користувачі можуть вводити URL-адреси в полі.

2. Переконайтеся, що користувач може вставити URL-адресу за допомогою клавіші клавіатури в полі та через мишку.

3. Перевірте, додавши дійсну URL-адресу з https:// та http://.

4. Перевірте, додавши розширення TLD. .in, .be, .xyz, сайт тощо.

5. Перевірте, додавши пробіли на початку URL-адреси.

6. Перевірте, додавши пробіли в кінці URL-адреси, пробіли повинні бути обрізані.

7. Перевірте, додавши лише доменне ім’я без http:

8. Перевірте без введення URL-адреси в поле та натискання кнопки.

9. Підтвердьте, додавши IP-адресу веб-сайту та натиснувши кнопку.

10. Перевірте, додавши лише назву сайту

11. Перевірте, додавши лише розширення. https://www.com

12. Перевірте, додавши URL-адреси максимальної довжини. наприклад https://verylongtestcase.com/test- case-for-longvery-linkurl/

13. Перевірте, додавши URL-адреси мінімальної довжини. наприклад https://lowcase.com/

14. Перевірте поведінку програми, ввівши закодовану URL-адресу.

15. Перевірте URL-адресу, що містить параметри.

16. Перевірте, додаючи та видаляючи косу риску /.

17. Перевірте URL-адресу, яка містить спеціальні символи. наприклад # 23.

18. Перевірте, натиснувши кнопку, чи відображається повідомлення про помилку, якщо нічого не введено.

19. Переконайтеся, що після натискання кнопки відображається повідомлення про помилку для додавання пробілів в URL-адресу поле чи ні.

20. Перевірте, додавши пробіли між URL-адресою.