Исследование нефункциональных требований: поиск легких багов |
07.06.2022 00:00 |
Автор: Каллум Эйкхерст-Райан (Callum Akehurst-Ryan) В последнее время я работал над несколькими новыми проектами и самостоятельно решал, что тестировать, и что считать качественным. В частности, я исследовал нефункциональные области качества, чем раньше не занимался, и нашел ряд легких в освоении инструментов. Нефункциональное тестирование легко отбросить, как что-то ненужное, особенно на ранних стадиях разработки. Однако чинить полностью готовый проект, не удовлетворяющий своей производительностью или безопасностью, куда сложнее, нежели постепенно вносить изменения заранее, и поэтому давать обратную связь по нефункциональным проблемам полезно как можно раньше. То, что нефункциональное тестирование остается "за рамками", также означает, что надо прагматично подходить к вопросу, о чем сообщать команде, дабы быть доверенным советником – нам не нужно, чтобы нас считали ставящими команде палки в колеса из-за того, на что всем наплевать, только ради достижения "золотого стандарта качества". Ниже – инструменты, которые я использовал, и считаю очень простыми в освоении. Производительность – K6 Сайт: https://k6.io/
Используется для легкого в освоении тестирования производительности API и нагрузочного тестирования. K6 – это инструмент нагрузочного тестирования, который может по расписанию отправлять множество вызовов к конечной точке API в течение заданного периода времени.
K6 – это отдельное приложение, которое можно установить и запускать локально или через контейнер Docker. Оно управляется простыми командами из командной строки. Можно также выгрузить свои ручные запросы API из Postman, и вам не придется писать скрипты с нуля. Как и запросы Postman, запросы K6 можно направить к любому API через http-адрес – вы можете тестировать локальное, тестовое и продакшен-окружения. Если вы способны создать запрос в Postman, вы легко начнете тестировать производительность с K6. Безопасность – OWASP ZAP Сайт: https://owasp.org/www-project-zap/
Используется для сканирования сайтов, поиска уязвимостей безопасности и проведения атак. OWASP ZAP (Zed Attack Proxy) – это сканер уязвимостей, использующий известные уязвимости и заранее подготовленные атаки для выявления потенциальных уязвимых точек продукта.
OWASP ZAP – это отдельное приложение, которое можно запускать локально или через Docker, нацеливая его на любой сайт (локальный или в окружении) через сниффер веб-трафика. Так как он использует готовые атаки и репозиторий известных уязвимостей, с ним легко можно начать работу, даже плохо разбираясь в вопросе. Это инструмент с открытым исходным кодом, находящийся в разработке: он постоянно пополняется новыми выявленными уязвимостями. Этот инструмент не только указывает на проблемные места, но и дает о них подробную информацию о них, включая причину проблемы и пути решения. Эту информацию легко экспортировать. Это отличный способ вникнуть в тестирование безопасности, так как инструмент все подробно объясняет на лету. Доступность – Axe Сайт: https://www.deque.com/axe/
Используется для анализа UI на уровне кода с целью поиска проблем доступности. Axe – дополнение для браузера, использующее стандарты WCAG 2.1 для проверки кода UI и подсвечивания потенциальных проблем доступности. В основном он сконцентрирован на областях, которые можно закодировать – метках, цветах, шрифтах. Удобство использования – Flesch-Kincaid Calculator Сайт: https://goodcalculators.com/flesch-kincaid-calculator/
Используется для оценки, насколько абзац читабелен и понятен. Flesch-Kincaid Calculator – это сайт, куда можно вставить текст из продукта и оценить его на читабельность. Оценка связана с уровнем навыка чтения, уровнем образования или сложностью книги, и дает понять, кто из читателей поймет, о чем идет речь. Чем выше эта оценка, тем более продвинутые навыки нужны читателю, чтобы понять ваши предложения. Этот калькулятор дает и оценку, и важную информацию о результатах проверки, и хорошо подходит для новичков в тестировании читабельности. Делимся лежащим на поверхности Итак, вы поизучали продукт, использовали инструменты, что же дальше? Делимся информацией с командой.
Когда я делился информацией о нефункциональных требованиях с продакт-оунерами, я иногда завоевывал внимание людей, и это приводило к исправлению нефункциональных проблем. Иногда меня благодарили и сообщали, что эта информация не нужна прямо сейчас, но я узнал, как начать тестировать эти области. |