paint-brush
Để tự động hóa hay không: Điều hướng các mô hình thử nghiệm thủ công và tự độngtừ tác giả@luxequality
1,638 lượt đọc
1,638 lượt đọc

Để tự động hóa hay không: Điều hướng các mô hình thử nghiệm thủ công và tự động

từ tác giả Luxe Quality6m2024/02/09
Read on Terminal Reader

dài quá đọc không nổi

Tóm lại, cách tiếp cận lý tưởng để kiểm thử phần mềm nằm ở sự tích hợp cân bằng giữa các phương pháp kiểm thử thủ công và tự động. Kiểm tra thủ công, với khả năng thích ứng, hiểu biết sâu sắc lấy người dùng làm trung tâm và khả năng phát hiện các vấn đề phức tạp, là nền tảng để xây dựng tự động hóa. Việc kết hợp cả hai phương pháp tiếp cận đảm bảo thử nghiệm toàn diện, phần mềm chất lượng cao và trải nghiệm người dùng được cải thiện, khiến nó trở thành phương pháp thực hành tốt nhất cho các dự án hiện đại.
featured image - Để tự động hóa hay không: Điều hướng các mô hình thử nghiệm thủ công và tự động
Luxe Quality HackerNoon profile picture

Bất chấp những lợi thế rõ ràng của thử nghiệm tự động trong việc nâng cao tốc độ, độ chính xác và hiệu quả chi phí trong các tình huống cụ thể, một thống kê hấp dẫn cho thấy rằng chỉ 5% công ty cam kết thử nghiệm hoàn toàn tự động .


Trong bài viết này, chúng ta sẽ làm sáng tỏ lý do tại sao kiểm thử thủ công vẫn là một thành phần không thể thiếu của mọi dự án trong tương lai gần bất chấp sự tiến bộ không ngừng của công nghệ kiểm thử tự động.

Kiểm tra bằng tay

Kiểm thử thủ công tạo nền tảng cho tự động hóa và rất quan trọng trong nhiều tình huống khác nhau:

  • Chức năng thay đổi nhanh chóng: Trong trường hợp chức năng sản phẩm trải qua những thay đổi thường xuyên, việc kiểm tra thủ công trở nên then chốt. Nó mang lại sự linh hoạt để thích ứng nhanh chóng với những thay đổi mà không phải chịu gánh nặng cập nhật liên tục các tập lệnh tự động.


  • Các kịch bản thử nghiệm phức tạp dành cho tự động hóa hoặc không xác định: Thử nghiệm thủ công sẽ phát huy tác dụng khi xử lý các kịch bản thử nghiệm phức tạp hoặc mơ hồ, chẳng hạn như quy trình xác thực người dùng nhiều tầng. Người kiểm thử thủ công xuất sắc trong khả năng ứng biến, điều hướng ứng dụng để phát hiện các trường hợp khó khăn và sửa đổi chiến lược kiểm thử của họ.


  • Kiểm tra UI/UX: Người kiểm tra thủ công cung cấp những hiểu biết quan trọng về khả năng sử dụng, hiệu quả thiết kế và sự hài lòng tổng thể của người dùng, những yếu tố thường bị các quy trình tự động bỏ qua.


  • Dự án quy mô nhỏ: Tự động hóa có thể không cần thiết đối với các dự án nhỏ hơn khi chỉ cần một vài người kiểm tra thủ công là đủ. Trong bối cảnh như vậy, thử nghiệm thủ công cung cấp phạm vi bao quát toàn diện và là một cách tiếp cận thực tế và hiệu quả hơn về mặt chi phí.


Ví dụ: Việc đánh giá tính năng tương tác dựa trên cử chỉ mới trong ứng dụng dành cho thiết bị di động yêu cầu phải kiểm tra thủ công hoàn toàn. Điều này liên quan đến việc đánh giá tính tự nhiên, khả năng phản hồi và mức độ hài lòng chung của người dùng với các tương tác này, điều mà các thử nghiệm tự động không thể đo lường một cách hiệu quả.


Người thử nghiệm thực hiện các cử chỉ để điều hướng ứng dụng theo cách thủ công, trực tiếp đánh giá tính trực quan của tính năng và trải nghiệm người dùng.

Kiểm tra tự động

Kiểm tra tự động vượt trội trong môi trường ổn định và kiểm tra hồi quy. Đó là lý tưởng cho các tình huống trong đó các chức năng nhất quán và việc kiểm tra thủ công có thể bị hạn chế do khối lượng lớn, độ phức tạp hoặc các nhiệm vụ lặp đi lặp lại.


Kiểm tra tự động có thể chạy độc lập, thậm chí qua đêm, cung cấp kết quả nhanh chóng, đáng tin cậy vào ngày hôm sau. Điều này làm cho nó trở thành một lựa chọn chiến lược để đảm bảo sự ổn định và hiệu quả trong quá trình thử nghiệm.


Ví dụ: Kiểm tra tự động là điều cần thiết để kiểm tra căng thẳng một ứng dụng web dự kiến sẽ xử lý lưu lượng truy cập cao, chẳng hạn như trong đợt giảm giá nhanh. Việc thử nghiệm thủ công mô phỏng quy mô hoạt động đồng thời của người dùng mà các công cụ tự động như JMeter có thể thực hiện là không thực tế, nhằm đảm bảo hiệu suất của ứng dụng trong điều kiện tải cao điểm.

Phân tích so sánh giữa kiểm thử thủ công và tự động

Trước khi đi sâu vào câu hỏi trọng tâm trong bài viết của chúng tôi, hãy xem xét những khác biệt quan trọng giữa thử nghiệm tự động và thủ công.

Bảng này tóm tắt những khác biệt chính giữa thử nghiệm thủ công và tự động, cung cấp tổng quan nhanh về điểm mạnh và thách thức của chúng. Sự lựa chọn giữa chúng phụ thuộc vào yêu cầu của dự án, chẳng hạn như quy mô, độ phức tạp và nhu cầu phản hồi ngay lập tức.


Hầu hết các tổ chức đều lựa chọn phương pháp kết hợp, kết hợp cả hai phương pháp để đảm bảo kiểm thử toàn diện và phân phối phần mềm chất lượng cao.

Tại sao cách tiếp cận cân bằng để kiểm tra tự động và thủ công là tốt nhất cho các dự án

Vì vậy, cách tiếp cận tối ưu nhất cho dự án này là kết hợp giữa thử nghiệm thủ công và tự động. Đây là lý do tại sao việc tích hợp cân bằng các phương pháp thử nghiệm tự động và thủ công lại trở thành phương pháp thực hành tốt nhất cho các dự án:

#1. Cơ sở cho tự động hóa

Kiểm thử thủ công đóng vai trò là nền tảng để xây dựng kiểm thử tự động. Các trường hợp thử nghiệm và kịch bản được xác thực theo cách thủ công để thiết lập đường cơ sở cho hành vi dự kiến. Các thử nghiệm thủ công này giúp xác định các tính năng quan trọng, quy trình làm việc của người dùng và các lĩnh vực tiềm ẩn cần quan tâm, sau đó được chuyển thành tập lệnh thử nghiệm tự động.


Nếu không có giai đoạn thử nghiệm thủ công ban đầu này, các thử nghiệm tự động hóa sẽ trở thành một quá trình mù quáng, thiếu hiểu biết sâu sắc của con người để phát hiện sớm các khiếm khuyết và lỗ hổng bảo mật.


__Thủ công __ ví dụ trường hợp thử nghiệm:

TIÊU ĐỀ: Gửi biểu mẫu «Liên hệ với chúng tôi» với dữ liệu hợp lệ


BƯỚC:

  1. Điều hướng đến trang «Liên hệ với chúng tôi»
  2. Nhập dữ liệu hợp lệ
  3. Đánh dấu vào hộp kiểm «Chính sách quyền riêng tư»
  4. Nhấp vào nút «Gửi tin nhắn»

KẾT QUẢ DỰ KIẾN: Cửa sổ bật lên thành công "Tin nhắn được gửi" sẽ được hiển thị


__Tự động hóa __ ví dụ (sử dụng Playwright và TypeScript):

import { test } from '@playwright/test';

import ContactUsPage from '../pages/ContactUsPage';


const validFullName = 'Test Customer';

const validEmail = '[email protected]';

const validMessage = 'It is interesting to learn about your services, get advice on my project and discuss the free trial in more detail.\nThank you!\nWaiting for feedback!';


test.describe('Contact Us form test', () => {

test('Submit a «Contact Us» form with the valid data', async ({ page }) => {

const contactUsPage = new ContactUsPage(page);


// Navigate to the «Contact Us» page

await contactUsPage.navigate();


// Enter the valid data

await contactUsPage.enterFullName(validFullName);

await contactUsPage.enterEmail(validEmail);

await contactUsPage.enterMessage(validMessage);


// Check the «Privacy Policy» checkbox

await contactUsPage.clickPrivacyPolicyCheckbox();


// Click the «Send Message» button

await contactUsPage.clickSendMessageButton();


// Verify success message is displayed

await contactUsPage.isSuccessModalDisplayed();

});

});


#2. Kiểm tra khả năng truy cập

Đảm bảo rằng phần mềm có thể truy cập được đối với người dùng khuyết tật là một khía cạnh quan trọng của đảm bảo chất lượng. Kiểm tra thủ công cho phép người kiểm tra đánh giá ứng dụng từ góc độ của người dùng khuyết tật, bao gồm trình đọc màn hình, điều hướng bằng bàn phím và các công nghệ hỗ trợ khác.


Những khía cạnh này khó có thể tự động hóa hoàn toàn, khiến việc kiểm tra thủ công trở nên cần thiết để đảm bảo tính toàn diện và tuân thủ các tiêu chuẩn về khả năng tiếp cận.


Ví dụ, hãy xem xét một trang web của chính phủ cung cấp thông tin cần thiết cho người dân. Kiểm tra thủ công đảm bảo rằng những người khiếm thị có thể điều hướng trang web bằng trình đọc màn hình, truy cập các biểu mẫu cần thiết và nhận được các cập nhật quan trọng.


Các chức năng này đang gặp khó khăn trong việc tự động hóa toàn diện do nhu cầu đa dạng của người dùng khuyết tật, nhấn mạnh tính không thể thiếu của kiểm tra khả năng tiếp cận thủ công trong việc đảm bảo quyền truy cập bình đẳng vào thông tin quan trọng.

#3. Quản lý rủi ro

Bằng cách tận dụng cả hai phương pháp thử nghiệm, các nhóm có thể đảm bảo đánh giá rủi ro toàn diện hơn. Hãy tưởng tượng một dự án phần mềm chăm sóc sức khỏe trong đó việc kiểm tra thủ công là rất quan trọng để xác thực dữ liệu đầu vào của bệnh nhân và đảm bảo phần mềm tuân thủ các quy định y tế.


Kiểm tra tự động bổ sung cho điều này bằng cách xác minh tính toàn vẹn dữ liệu và chức năng tổng thể của hệ thống.

#4. Tích hợp liên tục và môi trường linh hoạt

Kết hợp thử nghiệm tự động và thủ công trong môi trường tích hợp liên tục (CI) và phát triển linh hoạt đảm bảo chất lượng theo kịp sự phát triển. Ví dụ: hãy xem xét một nền tảng truyền thông xã hội nơi các thử nghiệm tự động xác minh các chức năng cốt lõi như xác thực người dùng, trong khi thử nghiệm thủ công tập trung vào cải tiến giao diện người dùng và khả năng sử dụng.

#5. Khám phá lỗi toàn diện

Kiểm tra thủ công có thể phát hiện ra các lỗi tinh vi, theo ngữ cảnh cụ thể mà các tập lệnh tự động có thể bỏ qua. Người kiểm thử có thể áp dụng trực giác và khả năng sáng tạo của con người để khám phá phần mềm từ góc độ của người dùng cuối, xác định các vấn đề có thể không được đề cập trong các trường hợp kiểm thử tự động.


Khía cạnh này trở nên quan trọng để đảm bảo trải nghiệm người dùng hoàn hảo, nắm bắt các trường hợp bất ngờ và cải thiện chất lượng phần mềm tổng thể.


Ví dụ: hãy tưởng tượng việc thử nghiệm một trang web thương mại điện tử trong đó tập lệnh tự động kiểm tra chức năng của nút "Thêm vào giỏ hàng" và có vẻ hoạt động hoàn hảo. Tuy nhiên, trong quá trình kiểm tra thủ công, người kiểm tra nhận thấy rằng khi thêm nhanh nhiều mặt hàng, biểu tượng giỏ hàng sẽ nhấp nháy nhanh, có thể khiến người dùng nhầm lẫn về trạng thái lựa chọn của họ.


Vấn đề phức tạp này, được phát hiện bởi trực giác và sự sáng tạo của con người, nêu bật tầm quan trọng của việc kiểm tra thủ công trong việc đảm bảo trải nghiệm thân thiện với người dùng, cải thiện chất lượng phần mềm tổng thể và mang lại lợi ích cho người dùng cuối.

kết luận

Tóm lại, cách tiếp cận lý tưởng để kiểm thử phần mềm nằm ở sự tích hợp cân bằng giữa các phương pháp kiểm thử thủ công và tự động. Kiểm tra thủ công, với khả năng thích ứng, hiểu biết sâu sắc lấy người dùng làm trung tâm và khả năng phát hiện các vấn đề phức tạp, là nền tảng để xây dựng tự động hóa.


Việc kết hợp cả hai phương pháp tiếp cận đảm bảo thử nghiệm toàn diện, phần mềm chất lượng cao và trải nghiệm người dùng được cải thiện, khiến nó trở thành phương pháp thực hành tốt nhất cho các dự án hiện đại.