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

https://roxgroup.atlassian.net/browse/BPM-1

1. Card (Mô tả tính năng)

Người dùng đăng nhập vào hệ thống theo user email (không cần nhập đuôi email).

2. Confirmation/ Acceptance Criteria (Tiêu chí nghiệm thu)

  1. 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.

  2. 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!”.

  3. 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”.

  4. Nhấn nút con mắt ẩn hiện mật khẩu.

  5. 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.

  6. 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. Conversation (Mô tả chi tiết)

3.1 UIUX:

3.2 Luồng:



3.3 API Spec: <gắn link tài liệu mô tả API vào đây>

Method

POST

URL

/api/auth/login

1. Headers

Header

Value

Required

Content-Type

application/json

Yes

2. Parameters

Field

Type

Required

Description

email

string

Yes

User's registered email address

password

string

Yes

User's password

3. Response

Mã lỗi

Mô tả


200

OK

Thành công

400

Bad Request

Nhập đủ thông tin

401

Unauthorized

Sai Username hoặc Pass


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





Viết Acceptance Criteria (AC) theo dạng Given - When - Then (Nhằm hướng tới việc kiểm thử tự động) 

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: 

ScenarioGiven When Then 
Đăng nhập thành côngNgườ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();
    }
}