Manual testing là gì? Những công việc cần làm của manual testing
Với bất cứ dự án sản xuất phần mềm nào thì kiểm thử cũng đóng một vai trò rất hết quan trọng. Trong đó Manual testing là loại kiểm thử phần mềm được sử dụng nhất. Vậy Manual testing là gì? Ưu điểm và cách thức thực hiện ra sao? Hãy cùng trung tâm đào tạo Tester tìm hiểu trong bài viết dưới đây nhé!
Manual testing là gì
- Manual testing là phương thức kiểm thử phần mềm được các Tester thực hiện thủ công bằng tay mà không có sự hỗ trợ của bất kỳ thiết bị nào. Với mục đích nhằm phát hiện lỗi trong phần mềm đang được phát triển.
- Trong quá trình thực hiện thì người kiểm thử sẽ phát hiện các lỗi bug từ nhỏ đến lớn trong phần mềm. Qua đó đưa ra các định hướng giải quyết tối ưu nhất giúp phần mềm hoạt động ổn định trước khi bàn giao cho khách hàng.
- Loại kiểm thử này rất quan trọng bởi không phải lúc nào bạn cũng có thể thực hiện kiểm thử tự động. Bởi đối tượng trải nghiệm phần mềm là người dùng nên việc các Tester tự mình kiểm tra là điều rất cần thiết. Manual testing rất linh hoạt bởi có thử nghiệm được nhiều trường hợp.
Các loại Manual Testing
Vì mục đích của Manual testing đó là đảm bảo phần mềm hoạt động đúng với yêu cầu đặc tả. Bằng việc phát hiện các lỗi trong phần mềm để kịp thời khắc phục, sửa chữa. Dưới đây là các loại Manual Testing quan trọng:
Kiểm thử hộp đen
- Hay còn gọi là Black Box Testing là phương pháp kiểm thử được tiến hành mà không biết được cấu tạo bên trong của phần mềm. Các Tester sẽ coi chương trình phần mềm là chiếc hộp đen và tiến hành kiểm thử.
- Với mục đích cố gắng tìm ra các lỗi sau: giao diện, chức năng thiếu hoặc không chính xác, hành vi hoặc hiệu suất lỗi. Ngoài ra còn là lỗi trong cấu trúc dữ liệu, truy cập cơ sở dữ liệu bên ngoài,…
- Quá trình được thực hiện chủ yếu trong Function test và System test. Người kiểm thử cần thiết lập những nhóm giá trị đấu vào sẽ thực thi. Đa số là các yêu cầu chức năng của chương trình. Tester sẽ không dùng bất cứ kiến thức nào về cấu trúc lập trình bên trong hệ thống phần mềm.
Kiểm thử hộp trắng
- Là phương pháp kiểm thử phần mềm nhằm mục đích kiểm tra thuật toán cùng cấu trúc code bên trong. Kiểm thử hộp trắng hay White box testing với chiếc hộp trắng tượng trưng cho khả năng nhìn xuyên thấu lớp vỏ bên ngoài của phần mềm để thấy được hoạt động của chúng.
- Mục đích của White box testing đó là giúp các câu lệnh và yêu cầu được thực hiện đúng và cho kết quả đầu ra như mong đợi. Nói cách khác thì Tester sẽ xác minh luồng hoạt động cho các ứng dụng thông qua việc kiểm tra một loạt đầu vào xác định từ trước có cho ra đầu ra (Output) như dự kiến. Nếu Output không khớp thì tức là phần mềm đang bị lỗi. Kiểm thử hộp trắng sẽ do các Developers thực hiện.
Kiểm thử hộp xám
Nó là sự kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng. Bởi sự liên quan đến quyền truy cập vào mã hóa nội bộ để tạo ra các trường hợp kiểm thử. Kiểm thử hộp xám hay Grey Box Testing có mục đích là kiểm tra ứng dụng phần mềm với kiến thức một phần về cấu trúc làm việc bên trong. Nó thường xác định các lỗi theo ngữ cảnh cụ thể thuộc về hệ thống web.
Cách thực hiện Manual Testing
Hiểu rõ các yêu cầu
- Người kiểm thử cần phải hiểu rõ các yêu cầu của phần mềm cùng cách thức hoạt động để đạt được kết quả cao nhất. Cùng các tài liệu ghi chép thông tin liên quan đến phần mềm đang được kiểm thử. Qua đó Tester có thể hiểu được mục đích của sản phẩm, yêu cầu và công việc cần thực hiện.
- Tuy đây là bước đầu tiên nhưng rất quan trọng bởi nó ảnh hưởng đến mục tiêu cuối cùng là cho ra được sản phẩm hoàn thiện có ít lỗi nhất.
Tạo test case
Đây là bước tiếp theo của quá trình Manual Testing. Test case có vai trò dẫn đường cho các tester tạo ra kế hoạch chi tiết, các hướng dẫn về tính năng cùng bối cảnh của phần mềm. Việc thiết kế Test Case giúp cho công việc trở nên mượt quả và đảm bảo sự bảo quát nhất. Test case được tạo phải đủ chi tiết để việc kiểm thử trở nên dễ dàng và người kiểm thử có thể bắt kịp công việc nhanh sau khi tham gia.
Tiến hành kiểm thử
Khi đã có test case cùng chuẩn bị tốt môi trường test thì các Tester sẽ bắt đầu triển khai kiểm thử. Ở bước này người thử nghiệm sẽ tiến hành các trường hợp kiểm thử trên AUT. Thực hiện kiểm thử xong thì bận cần ghi chép lại rõ ràng phần nào đã: passed, failed hay skipped. Đối với Manual Testing thì việc ghi chép sẽ giúp dễ dàng xử lý các kiểm thử thất bại trong tương lai.
Tiến hành điều tra sâu
Tiến hành việc thử dựa trên một test case là điều cần thiết giúp bạn đạt được kết quả mong đợi. Ngoài ra bạn có thể kết hợp với exploratory testing sẽ giúp bạn phát hiện ra những lợi ích của ứng dụng.
Tạo báo cáo Bug
- Thực hiện công việc kiểm thử xong thì các tester cần phải ghi chép lại những lỗi đã tìm ra trong quá trình tiến hành. Việc ghi chép lại những lỗi này sẽ giúp ích rất nhiều cho đội ngũ phát triển. Nội dung báo cáo cần phải chi tiết thể hiện các lỗi cùng kết quả mong muốn và kết quả thực tế.
- Bên cạnh đó thì báo cáo cần đính kèm tài liệu để nhóm hiểu hơn về vấn đề gồm: ảnh chụp, video,… Hãy đặt tên cho báo cáo thật dễ nhớ để thuận tiện khi tìm kiếm.
Báo cáo kết quả test và sửa lỗi
Quá trình kiểm thử được thực hiện xong thì bạn cần phải báo cáo kết quả một cách tổng thể. Điều này sẽ giúp bạn dễ dàng hơn khi tiến hành các công việc tiếp theo. Tiếp đó tiến hành sửa các lỗi đã tìm được trong quá trình kiểm thử. Khi đó Tester sẽ thực hiện các trường hợp thử nghiệm chấp nhận được để kiểm tra xem các lỗi còn xảy ra nữa không.
Ưu, nhược điểm của Manual Testing
Ưu điểm
- Tiết kiệm chi phí ngắn hạn cho các dự án.
- Các Tester có thể tiến hành kiểm thử dễ dàng với những phản hồi nhanh chóng, trực quan nhất trên giao diện ứng dụng của phần mềm cần kiểm tra.
- Tiết kiệm thời gian cho việc kiểm tra phần mềm khi có những thay đổi nhỏ.
- Tester có thể nâng cao tay nghề tối đa khi có nhiều cơ hội thử nghiệm để tìm kiếm lỗi phức tạp trong phần mềm.
Nhược điểm
- Phải đầu tư nhiều cho nguồn nhân lực và cần số lượng lớn.
- Người kiểm thử mất nhiều thời gian và công sức để tìm kiếm lỗi bug của phần mềm.
- Khó khăn khi thực hiện các trường hợp task công việc lớn và phải có công cụ chuyên nghiệp hỗ trợ.
- Độ tin cậy và tiện lợi trong kết quả thực hiện ở Manual Testing thấp hơn so với Automation Testing.
- Hữu ích khi các trường hợp kiểm thử chạy 1 hoặc 2 lần và không lặp lại thường xuyên.
- Các lỗi được phát hiện dựa trên phương pháp Manual Testing thường ít hơn Automation Testing
Các công cụ hỗ trợ Manual Testing
TestLink
Là một trong số các công cụ quản lý kiểm thử mã nguồn mở có sẵn được sử dụng. Hoạt động dựa trên web với nhiều tính năng nổi trội. Bao gồm: quản lý yêu cầu, tạo trường hợp thử nghiệm và bảo trì, chạy testing, theo dõi lỗi, báo cáo cùng tích hợp trình theo dõi sự cố.
Bugzilla
- Hệ thống phần mềm theo dõi lỗi mã nguồn mở giúp các cá nhân, đội ngũ phát triển giám sát các lỗi xác suất xảy ra trong dự án của họ một cách hiệu quả. Đội ngũ kiểm tra chất lượng phần mềm có trách nhiệm quản lý hệ thống này.
- Với các chức năng nổi bật gồm: quản lý quy trình sửa lỗi phần mềm miễn phí, quản lý trình hoạt động cùng tiến độ test lỗi của mỗi dự án. Cho phép nhiều người dùng làm việc cùng lúc, tìm kiếm và phân bổ công việc cho từng thành viên dễ dàng. Update thông tin cho từng thành viên tham gia dự án qua chức năng gửi thư điện tử.
Jira
- Phần mềm được dùng để theo dõi và quản lý các vấn đề xảy ra trong suốt quá trình hoạt động của dựa án. Được sáng lập và phát triển bởi công ty phần mềm Atlassian với nhiệm vụ ban đầu là theo dõi lỗi và vấn đề. Đến nay Jira được phát triển thành hệ thống Jira quản lý dự án tập trung và có độ tùy biến cao.
- Các tính năng chính của công cụ này gồm: theo dõi và quản lý tiến độ thực hiện của dự án cùng các vấn đề hoặc những cải tiến. Trang bị bộ lọc tìm kiếm thông minh và giúp bạn lên kế hoạch công việc phù hợp với nhiều yêu cầu và loại hình dự án. Phần mềm có khả năng tích hợp với nhiều hệ thống: Excel, Email,…
LoadRunner
- Công cụ kiểm thử tự động tiến hành việc kiểm tra hiệu năng của phần mềm. Nó cho phép bạn tìm thấy những lỗi về khả năng thực thi bằng việc phát hiện các nguyên nhân gây ra. Có khả năng mô phỏng các tình huống trước đó tự động phát sinh script để tiết kiệm thời gian. Đồng thời mô phỏng hàng ngàn người dùng ảo thực hiện các giao dịch cùng lúc.
- LoadRunner có nhiều ưu điểm nổi trội gồm: không cần cài đặt trên máy chủ của ứng dụng cần kiểm tra dùng ngôn ngữ C mặc định. Giám sát và phân tích tốt với các biểu đồ đơn gian, hỗ trợ các giao thức,…
Apache JMeter
- Phần mềm mã nguồn mở dùng để kiểm tra độ chịu tải và hiệu suất được tạo lập hoàn toàn từ Java. Với mục đích kiểm thử các ứng dụng web cùng các chức năng khác. Có thể dùng để test performance trên tài nguyên tĩnh, động và ứng dụng web động. Một số tính năng nổi bật của Apache Jmeter:
- Đầy đủ tính năng test IDE giúp ghi lại các kế hoạch kiểm tra nhanh chóng. Tương tác dễ dàng qua khả năng trích xuất dữu liệu từ định dạng phản hồi phổ biến: HTML, JSO, XML,… Bộ nhớ đệm cho phép phân tích và tái hiện kết quả kiểm tra trực tuyến. Có chế độ Command-line giúp kiểm tra độ tải của các hệ điều hành: Window, Mac,…
RedMine
Công cụ được tạo ra nhằm mục đích theo dõi các vấn đề xảy ra của một dự án và quản lý dự án. Hoạt động dựa trên web miễn phí và mã nguồn mở giúp người dùng sử dụng dễ dàng. Phần mềm hỗ trợ cho người dùng quản lý nhiều dự án cùng lúc với vai trò linh hoạt. Một số tính năng nổi trội của RedMine là tạo biểu đồ, quản lý dữ liệu (tin tức, tài liệu, file liên quan đến dự án). Bạn có thể tùy chỉnh các vấn đề và thời gian của dự án,…
FogBugz
Với chức năng theo dõi lỗi cùng hỗ trợ quản lý tác vụ, theo dõi thời gian và lập kế hoạch thông minh. Đồng thời hỗ trợ email và hợp tác về các tài liệu, báo cáo sự cố cùng quản lý phát triển Agile và xem xét và quản lý mã (code). Một số tính năng nổi bật của FogBugz gồm các báo cáo tự động, cho phép chỉnh sửa số lượng lớn, cung cấp tùy chọn triển khai trên đám mây hoặc tại chỗ,…
Học gì để trở thành Manual Testing
Nếu bạn mong muốn trở thành một Manual Testing chuyên nghiệp thì bạn cần phải có định hướng rõ ràng. Đồng thời không ngừng nỗ lực, phấn đấu trau dồi và học hỏi thêm các kiến thức cần thiết và chuyên sâu của nghề nghiệp.
Kiến thức chung
- Nắm chắc các kiến thức về máy tính, cài đặt phần mềm, sử dụng máy tính và tin học thành thạo.
- Hiểu được các kiến thức cơ bản về lập trình: SQL, HTML, CSS,…
- Nắm được các định nghĩa về test cùng thuật ngữ được dùng trong lĩnh vực kiểm thử phần mềm. Cùng quá trình phát triển phần mềm và cách thức tiến hành kiểm tra.
- Tham khảo những tài liệu liên quan khác: What is Software Testing?, Software Development life cycle,…
- Hiểu rõ các loại kiểm thử phổ biến: Functional testing, Structural testing, Non-functional testing,…
Kiến thức chuyên ngành
- Create a Test Plan: Đây là yếu tố cần có trong một kế hoạch kiểm tra cơ bản và cách viết kế hoạch thường phù hợp và chính xác nhất.
- Design Test case: Nắm được cách tạo và viết test case thông dụng phù hợp với quy trình kiểm tra của các loại phần mềm khác nhau.
- Test Design Techniques: Hiểu và nắm chắc cách thức thiết kế một testcase để tiến hành kiểm thử trường hợp hiệu quả, tối ưu và bao phủ được các yêu cầu (requirement).
- Test reporting, Daily status reports: Bạn cần biết cách báo cáo kết quả test chi tiết khi tiến hành kiểm tra lỗi thuật. Việc nắm được tình trạng báo cáo test thường xuyên sẽ giúp bạn phát hiện các lỗi nhanh chóng để sửa chữa.
- Coding: SQL, HTML, CSS: Hãy cố gắng thành thạo ít nhất một ngôn ngữ lập trình nâng cao để có thể xử lý được các lỗi kỹ thuật.
Qua toàn bộ nội mà chúng tôi đã trình bày chi tiết ở trên thì bạn đã hiểu được Manual Testing là gì. Cùng những công việc và kiến thức mà Manual Testing cần biết, trau dồi. Hy vọng rằng qua bài viết này bạn sẽ có định hướng rõ ràng về nghề nghiệp trong tương lai. Chúc các bạn may mắn!
5/5 – (2 bình chọn)