Ответ
Веб-приложение — это клиент-серверное приложение, доступное через браузер, где пользовательский интерфейс (frontend) работает в браузере, а бизнес-логика и данные обрабатываются на удаленном сервере (backend).
С точки зрения тестирования это определяет несколько ключевых областей проверки:
1. Frontend (Клиентская часть):
- Кросс-браузерность и кросс-платформенность: Корректность работы в разных браузерах (Chrome, Firefox, Safari) и на разных устройствах.
- Юзабилити (UI/UX): Удобство интерфейса, доступность.
- Функциональность на стороне клиента: Работа форм, валидация, динамическое обновление контента (JavaScript).
2. Backend (Серверная часть):
- Функциональность API: Корректность обработки запросов, бизнес-логика.
- Интеграция с БД: Сохранение, извлечение и манипуляция данными.
- Интеграция со сторонними сервисами: Платежные шлюзы, email-сервисы и т.д.
3. Сквозные аспекты:
- Безопасность: Защита от OWASP Top 10 (SQL-инъекции, XSS, CSRF, небезопасная десериализация).
- Производительность: Время загрузки страниц, отклик API под нагрузкой.
- Надежность: Доступность приложения, обработка ошибок.
Пример простого веб-приложения на Flask:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/api/items', methods=['POST'])
def create_item():
data = request.get_json()
# Бизнес-логика и сохранение в БД
return jsonify({'id': 1, 'name': data['name']}), 201
if __name__ == '__main__':
app.run(debug=True)
Тестирование такого приложения включает проверку API-эндпоинта (/api/items), валидацию входных данных, коды ответов и интеграцию с базой данных.