Nghiệp vụ | IT | |||
|---|---|---|---|---|
Người lập | Người duyệt | Người lập | Người duyệt | |
Tên, Chức danh | ||||
Ngày ký | ||||
Jira Link | ||||
Người dùng đăng nhập vào hệ thống theo user email (không cần nhập đuôi email).
Nhập đúng thông tin Tên đăng nhập và Mật khẩu, đăng nhập thành công và di chuyển vào trang Homepage.
Không nhập thông tin Tên đăng nhập/ Mật khẩu: Hệ thống hiển thị cảnh báo “Vui lòng không được bỏ trống!”.
Nhập sai thông tin Tên đăng nhập/ Mật khẩu: Hệ thống hiển thị cảnh báo “Tài khoản hoặc mật khẩu không đúng”.
Nhấn nút con mắt ẩn hiện mật khẩu.
Tick chọn checkbox “Ghi nhớ tài khoản” hệ thống lưu thông tin để lần đăng nhập sau không cần nhập lại.
Click nút “Quên mật khẩu?” hiển thị thông báo “Vui lòng liên hệ <Email> để được cấp lại mật khẩu”
3.1 UIUX:

3.2 Luồng:

3.3 API Spec: <gắn link tài liệu mô tả API vào đây>
1. Headers
2. Parameters
3. Response
|
3.4 Mô tả các trường dữ liệu trên màn hình:
Field (Trường dữ liệu) | Type (Kiểu dữ liệu) | Required (Bắt buộc) | Validation (Quy định) | Description (Mô tả) |
|---|---|---|---|---|
Username | Text | Yes | Maxlength = 50 | |
Password | Text | Yes | Maxlength = 50 |
Cấu trúc Given - When - Then được viết theo Gherkin, là cú pháp mô tả hành vi hệ thống dưới dạng các tình huống sử dụng (scenarios). cách viết tiêu chí nghiệm thu (AC) bằng ngôn ngữ giả tự nhiên (dễ đọc cho cả kỹ thuật và không kỹ thuật), sau đó liên kết với mã kiểm thử tự động để thực thi.
Ví dụ:
User Story: Đăng nhập
AC:
| Scenario | Given | When | Then |
|---|---|---|---|
| Đăng nhập thành công | Người dùng đang ở trang đăng nhập | Nhập thông tin hợp lệ And nhấn nút đăng nhập | Chuyển đến trang dashboard |
// LoginSteps.java
package steps;
import io.cucumber.java.en.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class LoginSteps {
WebDriver driver;
@Given("người dùng đang ở trang đăng nhập")
public void openLoginPage() {
driver = new ChromeDriver();
driver.get("https://example.com/login");
}
@When("nhập tên đăng nhập và mật khẩu hợp lệ")
public void enterValidCredentials() {
driver.findElement(By.id("username")).sendKeys("validUser");
driver.findElement(By.id("password")).sendKeys("validPass123");
}
@When("nhấn nút đăng nhập")
public void clickLoginButton() {
driver.findElement(By.id("loginButton")).click();
}
@Then("người dùng được chuyển đến trang dashboard")
public void verifyDashboard() {
String currentUrl = driver.getCurrentUrl();
assert currentUrl.contains("/dashboard");
driver.quit();
}
}
|