Rate this post

Manual Testing là một quy trình kiểm thử phần mềm, trong đó các trường hợp kiểm thử được thực thi theo cách thủ công mà không sử dụng bất kỳ công cụ tự động nào. Tất cả các trường hợp thử nghiệm được thực thi bởi người thử nghiệm theo cách thủ công theo quan điểm của người dùng cuối. Nó đảm bảo liệu ứng dụng có hoạt động hay không, như đã đề cập trong tài liệu yêu cầu hay không. Các trường hợp kiểm thử được lập kế hoạch và thực hiện để hoàn thành gần như 100% ứng dụng phần mềm. Các báo cáo trường hợp thử nghiệm cũng được tạo theo cách thủ công.

Các bài viết liên quan:

Manual Testing là một trong những quy trình kiểm thử cơ bản nhất vì nó có thể tìm thấy cả những khiếm khuyết có thể nhìn thấy và ẩn của phần mềm. Sự khác biệt giữa đầu ra và đầu ra mong đợi, do phần mềm đưa ra, được định nghĩa là một khiếm khuyết. Nhà phát triển đã sửa các lỗi và giao nó cho người thử nghiệm để kiểm tra lại.

Manual Testing là bắt buộc đối với mọi phần mềm mới được phát triển trước khi kiểm thử tự động. Thử nghiệm này đòi hỏi nhiều nỗ lực và thời gian, nhưng nó mang lại sự chắc chắn của phần mềm không có lỗi. Manual Testing yêu cầu kiến ​​thức về kỹ thuật Manual Testing chứ không phải bất kỳ công cụ kiểm tra tự động nào.

Manual Testing là điều cần thiết vì một trong những nguyên tắc cơ bản của kiểm thử phần mềm là “không thể tự động hóa 100%.”

Tại sao chúng ta cần Manual Testing

Bất cứ khi nào một ứng dụng được tung ra thị trường và nó không ổn định hoặc có lỗi hoặc sự cố hoặc tạo ra sự cố trong khi người dùng cuối đang sử dụng nó.

Nếu không muốn đối mặt với những loại vấn đề này, chúng tôi cần thực hiện một vòng kiểm tra để làm cho ứng dụng không có lỗi và ổn định cũng như cung cấp sản phẩm chất lượng cho khách hàng, bởi vì nếu ứng dụng không có lỗi, thì người dùng cuối sẽ sử dụng ứng dụng thuận tiện hơn.

Nếu kỹ sư kiểm thử thực hiện Manual Testing, anh / cô ấy có thể kiểm tra ứng dụng dưới góc độ người dùng cuối và quen thuộc hơn với sản phẩm, điều này giúp họ viết các trường hợp kiểm thử chính xác của ứng dụng và đưa ra phản hồi nhanh chóng về ứng dụng.

Xem thêm All-pairs Testing trong software testing

Các loại Manual Testing

Có nhiều phương pháp khác nhau được sử dụng để Manual Testing. Mỗi kỹ thuật được sử dụng theo các tiêu chí thử nghiệm của nó. Các loại Manual Testing được đưa ra dưới đây:

  • White Box Testing
  • Black Box Testing
  • Gray Box Testing

White Box Testing

White Box Testing được thực hiện bởi Nhà phát triển, nơi họ kiểm tra mọi dòng của mã trước khi đưa nó cho Kỹ sư kiểm tra. Vì mã hiển thị cho Nhà phát triển trong quá trình thử nghiệm, đó là lý do tại sao nó còn được gọi là Thử nghiệm white box.

Black Box Testing

Black Box Testing được thực hiện bởi Kỹ sư kiểm tra, nơi họ có thể kiểm tra chức năng của một ứng dụng hoặc phần mềm theo nhu cầu của khách hàng / khách hàng. Trong trường hợp này, mã sẽ không hiển thị trong khi thực hiện thử nghiệm; đó là lý do tại sao nó được gọi là thử nghiệm Black box.

Gray Box Testing

Gray Box Testing là sự kết hợp giữa kiểm tra white box và kiểm tra Black box. Nó có thể được thực hiện bởi một người biết cả mã hóa và kiểm tra. Và nếu một người thực hiện thử nghiệm white box, cũng như thử nghiệm Black box cho ứng dụng, được gọi là thử nghiệm hộp Xám.

Cách thực hiện Manual Testing

  • Đầu tiên, người kiểm thử quan sát tất cả các tài liệu liên quan đến phần mềm, để chọn các khu vực kiểm thử.
  • Tester phân tích các tài liệu yêu cầu để bao gồm tất cả các yêu cầu mà khách hàng đã nêu.
  • Tester phát triển các trường hợp kiểm thử theo tài liệu yêu cầu.
  • Tất cả các trường hợp kiểm thử được thực thi theo cách thủ công bằng cách sử dụng kiểm thử Black box và kiểm thử white box.
  • Nếu lỗi xảy ra thì nhóm kiểm thử sẽ thông báo cho nhóm phát triển.
  • Nhóm Phát triển sửa lỗi và giao phần mềm cho nhóm kiểm thử để kiểm tra lại.

Xem thêm Functional Testing

Quy trình xây dựng phần mềm

  • Khi yêu cầu được thu thập, nó sẽ cung cấp cho hai nhóm phát triển và nhóm thử nghiệm khác nhau.
  • Sau khi nhận được yêu cầu, nhà phát triển có liên quan sẽ bắt đầu viết code.
  • Và trong thời gian chờ đợi, kỹ sư thử nghiệm hiểu yêu cầu và chuẩn bị các tài liệu cần thiết, cho đến nay nhà phát triển có thể hoàn thành mã và lưu trữ trong công cụ Phiên bản điều khiển.
  • Sau đó, mã thay đổi trong giao diện người dùng và những thay đổi này được xử lý bởi một nhóm riêng biệt, được gọi là nhóm xây dựng.
  • Nhóm xây dựng này sẽ lấy mã và bắt đầu biên dịch và nén mã với sự trợ giúp của một công cụ xây dựng. Sau khi chúng tôi có một số đầu ra, đầu ra sẽ được chuyển vào tệp zip, được gọi là Bản dựng (ứng dụng hoặc phần mềm). Mỗi Bản dựng sẽ có một số duy nhất như (B001, B002).
  • Sau đó, bản dựng cụ thể này sẽ được cài đặt trong máy chủ thử nghiệm. Sau đó, kỹ sư thử nghiệm sẽ truy cập máy chủ thử nghiệm này với sự trợ giúp của URL thử nghiệm và bắt đầu thử nghiệm ứng dụng.
  • Nếu kỹ sư kiểm tra tìm thấy bất kỳ lỗi nào, họ sẽ được báo cáo cho nhà phát triển có liên quan.
  • Sau đó, nhà phát triển sẽ tạo lại lỗi trong máy chủ thử nghiệm và sửa lỗi và lưu trữ lại mã trong phiên bản Điều khiển, và nó sẽ cài đặt tệp cập nhật mới và xóa tệp cũ; quá trình này được tiếp tục cho đến khi chúng tôi nhận được Bản dựng ổn định.
  • Sau khi chúng tôi có được Bản dựng ổn định, nó sẽ được bàn giao cho khách hàng.

Lưu ý 1:

Khi chúng tôi thu thập tệp từ công cụ Phiên bản điều khiển, chúng tôi sẽ sử dụng công cụ xây dựng để biên dịch mã từ ngôn ngữ cấp cao sang ngôn ngữ cấp máy. Sau khi biên dịch, nếu kích thước tệp sẽ tăng lên, vì vậy chúng tôi sẽ nén tệp cụ thể đó và đưa vào máy chủ thử nghiệm.

Quá trình này được thực hiện bởi nhóm Xây dựng, nhà phát triển (nếu không có nhóm xây dựng ở đó, một nhà phát triển có thể làm điều đó) hoặc trưởng nhóm kiểm tra (nếu nhóm xây dựng trực tiếp xử lý zip và cài đặt ứng dụng vào máy chủ kiểm tra và thông báo cho kỹ sư kiểm tra) .

Nói chung, chúng tôi không thể nhận Bản dựng mới cho mọi lỗi; nếu không, hầu hết thời gian sẽ chỉ bị lãng phí trong việc tạo các bản dựng.

Lưu ý 2

  1. Xây dựng đội ngũ

Công việc chính của nhóm xây dựng là tạo ứng dụng hoặc Xây dựng và chuyển đổi ngôn ngữ cấp cao sang ngôn ngữ cấp thấp.

  1. Xây dựng

Nó là phần mềm, được sử dụng để chuyển đổi mã thành định dạng ứng dụng. Và nó bao gồm một số tập hợp các tính năng và bản sửa lỗi được giao cho kỹ sư kiểm tra nhằm mục đích kiểm tra cho đến khi nó trở nên ổn định.

  1. Công cụ kiểm soát phiên bản

Nó là một phần mềm hoặc ứng dụng, được sử dụng cho mục đích sau:

Trong công cụ này, chúng ta có thể lưu các loại tệp khác nhau.

Nó luôn được bảo mật vì chúng tôi truy cập tệp từ các công cụ bằng cách sử dụng cùng thông tin đăng nhập.

Mục tiêu chính của các công cụ là theo dõi các thay đổi được thực hiện đối với các tệp hiện có.

Xem thêm Lỗi 404, kiểm tra và sửa lỗi

Ví dụ về quy trình Xây dựng

Hãy xem một ví dụ để hiểu cách xây dựng quy trình công việc trên các tình huống thực:

Ngay sau khi kỹ sư kiểm tra nhận được lỗi, họ sẽ gửi nó cho các nhà phát triển và họ cần một thời gian để phân tích; sau đó, anh ấy / cô ấy chỉ sửa lỗi (Kỹ sư kiểm tra không thể đưa ra bộ sưu tập lỗi).

Nhà phát triển được quyết định có bao nhiêu lỗi mà anh ta có thể sửa theo thời gian của họ. Và kỹ sư thử nghiệm được quyết định, lỗi nào nên được sửa trước theo nhu cầu của họ vì các kỹ sư thử nghiệm không có khả năng ngừng thử nghiệm.

Và kỹ sư kiểm tra nhận được thư, họ chỉ có thể biết rằng lỗi nào đã được sửa bằng danh sách các lỗi đã sửa.

Thời gian sẽ tăng lên vì ở lần xây dựng đầu tiên, và các nhà phát triển nên viết mã trong các tính năng khác nhau. Và cuối cùng, anh ấy / cô ấy chỉ có thể sửa lỗi và số ngày sẽ giảm xuống.

Lưu ý 3

Chu kỳ kiểm tra

Chu kỳ kiểm tra là khoảng thời gian được cung cấp cho kỹ sư kiểm tra để kiểm tra mọi phiên Bản.

Sự khác biệt giữa hai bản dựng

Các lỗi được tìm thấy trong một bản dựng và có thể được sửa ở bất kỳ Bản dựng nào trong tương lai, điều này phụ thuộc vào yêu cầu của kỹ sư thử nghiệm. Mỗi Bản dựng mới là phiên bản sửa đổi của bản cũ và những sửa đổi này có thể là bản sửa lỗi hoặc thêm một số tính năng mới.

Tần suất chúng tôi nhận được Bản dựng mới

Ban đầu, chúng tôi thường nhận các bản dựng hàng tuần, nhưng trong giai đoạn thử nghiệm mới nhất, khi ứng dụng đã ổn định, chúng tôi cũng thường nhận Bản dựng mới một lần trong 3 ngày, hai ngày hoặc hàng ngày.

Chúng tôi nhận được bao nhiêu công trình xây dựng

Nếu chúng tôi xem xét một năm của bất kỳ thời gian dự án nào, chúng tôi có 22-26 bản version.

Khi chúng tôi nhận được các bản sửa lỗi

Nói chung, chúng tôi hiểu các bản sửa lỗi chỉ sau khi hoàn thành chu kỳ thử nghiệm hoặc việc thu thập các lỗi được sửa trong một bản dựng và chuyển giao trong các bản dựng tiếp theo.

Ưu điểm của Manual Testing

  • Nó không yêu cầu kiến ​​thức lập trình trong khi sử dụng phương pháp Black box.
  • Nó được sử dụng để kiểm tra các thiết kế GUI thay đổi động.
  • Tester tương tác với phần mềm như một người dùng thực để họ có thể phát hiện ra các vấn đề về khả năng sử dụng và giao diện người dùng.
  • Nó đảm bảo rằng phần mềm 100% không có lỗi.
  • Nó là hiệu quả về chi phí.
  • Dễ học cho người thử nghiệm mới.

Nhược điểm của Manual Testing

  • Nó đòi hỏi một số lượng lớn nguồn nhân lực.
  • Nó rất tốn thời gian.
  • Tester phát triển các trường hợp kiểm thử dựa trên kỹ năng và kinh nghiệm của họ. Không có bằng chứng cho thấy chúng đã bao gồm tất cả các chức năng hay không.
  • Các trường hợp thử nghiệm không thể được sử dụng lại. Cần phát triển các trường hợp kiểm thử riêng biệt cho từng phần mềm mới.
  • Nó không cung cấp thử nghiệm trên tất cả các khía cạnh của thử nghiệm.
  • Vì hai đội làm việc cùng nhau nên đôi khi rất khó hiểu động cơ của nhau, có thể làm sai quy trình.

Các công cụ Manual Testing

Trong thử nghiệm thủ công, các loại thử nghiệm khác nhau như đơn vị, tích hợp, bảo mật, hiệu suất và theo dõi lỗi, chúng tôi có nhiều công cụ khác nhau như Jira, Bugzilla, Mantis, Zap, NUnit, Tessy, LoadRunner, Citrus, SonarQube, v.v. có sẵn trong thị trường. Một số công cụ là mã nguồn mở và một số công cụ thương mại.

  1. LoadRunner

Nó là công cụ kiểm tra hiệu suất được sử dụng phổ biến nhất. LoadRunner chủ yếu được sử dụng để hỗ trợ kiểm tra hiệu suất cho nhiều quy trình, số lượng phương pháp tiếp cận và môi trường ứng dụng.

Mục đích chính công cụ LoadRunner là để phân loại các nguồn phổ biến nhất của các vấn đề về hiệu suất một cách nhanh chóng.

Các tính năng của LoadRunner

  • Công cụ LoadRunner chứa n-số ứng dụng, giúp giảm thời gian hiểu và mô tả các báo cáo.
  • Chúng tôi có thể nhận được các báo cáo kiểm tra hiệu suất kỹ lưỡng bằng cách sử dụng công cụ LoadRunner.
  • Nó sẽ giảm chi phí kiểm tra tải phân tán và cũng cung cấp công cụ hoạt động để theo dõi triển khai.
  1. Citrus 

Citrus là một công cụ kiểm tra tích hợp, là khung kiểm tra được sử dụng phổ biến nhất. Nó được viết bằng ngôn ngữ lập trình Java. Nó chủ yếu được sử dụng để yêu cầu và phản hồi phía máy chủ và phía máy khách cũng như xác thực các tệp XML JSON.

Để thực hiện kiểm tra trường hợp sử dụng end-to-end, citrus hỗ trợ một số giao thức HTTP, JMS và SOAP.

Sau đây là một số tính năng quan trọng của công cụ Citrus:

  • Nó được sử dụng để gửi và nhận tin nhắn.
  • Citrus có sẵn dưới dạng mã nguồn mở và được cấp phép trên thị trường.
  • Nó cung cấp một giải pháp chi phí thấp.
  • Chúng tôi có thể xác thực cơ sở dữ liệu bằng cách sử dụng công cụ citrus.
  • Nó sẽ mô tả chuỗi thông báo, đưa ra kế hoạch thử nghiệm và ghi lại phạm vi thử nghiệm.
  • Nó tạo ra thông báo và xác minh các phản hồi.
  1. ZAP

ZAP là một trình quét bảo mật ứng dụng web mã nguồn mở. Nó là viết tắt của Zed Attack Proxy. Cũng giống như một số công cụ khác, nó cũng được viết bằng ngôn ngữ lập trình JAVA. Đây là Dự án Bảo mật Ứng dụng Web Mở hiệu quả nhất [OWASP].

Các tính năng của ZAP

  • Nó hỗ trợ nhiều hệ điều hành như Windows, Linux, OS X.
  • Nó có kiến ​​trúc dựa trên plugin.
  • Nó chứa một thị trường trực tuyến cho phép chúng tôi thêm các tính năng mới hoặc cập nhật.
  • Bảng điều khiển GUI của ZAP rất dễ sử dụng.
  1. NUnit

NUnit là một trong những công cụ kiểm thử đơn vị được sử dụng thường xuyên nhất. Nó là một công cụ mã nguồn mở và chủ yếu bắt nguồn từ JUnit.

Nó được viết hoàn toàn bằng ngôn ngữ lập trình C # và phù hợp với tất cả các ngôn ngữ .Net.

Nói cách khác, chúng ta có thể nói rằng công cụ NUnit được thiết kế lại hoàn toàn để trở thành lợi thế của nhiều chất lượng ngôn ngữ .Net. Ví dụ:

Đặc điểm của NUnit

  • Nó cho phép các xác nhận như một phương thức tĩnh của lớp lợi thế.
  • Nó duy trì các thử nghiệm theo hướng dữ liệu.
  • Nó hỗ trợ một số nền tảng, như .NET core Xamarin mobile, Silverlight và khuôn khổ hiệu quả.
  • Khả năng của NUnit giúp chúng tôi thực hiện các bài kiểm tra đồng thời.
  • Nó sử dụng một người chạy bảng điều khiển để tải và thực hiện các bài kiểm tra.
  1. JIRA

Công cụ theo dõi lỗi được sử dụng thường xuyên nhất là JIRA, là một công cụ mã nguồn mở. Nó được sử dụng để theo dõi lỗi, quản lý dự án và theo dõi vấn đề.

Trong công cụ này, chúng tôi có thể dễ dàng theo dõi tất cả các loại lỗi hoặc khiếm khuyết liên quan đến phần mềm và được tạo ra bởi các kỹ sư kiểm tra.

Đặc điểm của JIRA

  • Nó là một công cụ tiết kiệm thời gian.
  • Jira được sử dụng để theo dõi các khiếm khuyết và các vấn đề.
  • Nó được sử dụng để thiết lập các nhiệm vụ tài liệu.

Jira là một công cụ rất hữu ích trong việc theo dõi việc cải thiện tài liệu của chúng tôi.

  1. SonarQube

Một công cụ kiểm tra khác của Manual Testing là SonarQube, công cụ này cải thiện quy trình làm việc của chúng tôi với chất lượng mã liên tục và bảo mật mã. Nó linh hoạt với việc sử dụng các trình cắm thêm.

Nó hoàn toàn được viết bằng ngôn ngữ lập trình JAVA. Nó cung cấp đánh giá và tích hợp hoàn toàn tự động với Ant, Maven, Gradle, MSBuild và các công cụ tích hợp liên tục. SonarQube có khả năng ghi lại lịch sử số liệu và đưa ra biểu đồ tiến hóa.

Các tính năng của Sonarqube

  • Dưới đây là một số tính năng quan trọng của công cụ SonarQube:
  • Nó hỗ trợ một số ngôn ngữ lập trình như C, C ++, Python, JAVA, HTML, CSS, VB.NET, PHP, COBOL, PL / SQL, v.v.
  • Theo Giấy phép Công cộng Ít hơn GNU, Sonarqube được cung cấp miễn phí.
  • SonarQube liên kết với một số công cụ bên ngoài quan trọng như GitHub, Active Directory, LDAP và những công cụ khác.
  • SonarQube đã hợp nhất với môi trường phát triển Visual Studio, Eclipse và IntelliJ IDEA do các trình cắm thêm SonarLint.
  1. JMeter

JMeter là một công cụ mã nguồn mở được sử dụng để kiểm tra hiệu suất của cả tài nguyên tĩnh và động cũng như các ứng dụng web động.

Nó được thiết kế hoàn toàn trên ứng dụng JAVA để tải hành vi kiểm tra chức năng và đo lường hiệu suất của ứng dụng.

Nó tạo điều kiện cho người dùng hoặc nhà phát triển sử dụng mã nguồn để phát triển các ứng dụng khác.

Dưới đây là một số đặc điểm cơ bản của JMeter:

  • Nó độc lập với nền tảng, chấp nhận JVM như Windows, Mac và Linux, v.v.
  • Nó hỗ trợ GUI thân thiện với người dùng, tương tác và đơn giản.
  • Có thể mở rộng đáng kinh ngạc khi tải bài kiểm tra hiệu suất trong nhiều loại máy chủ.
  1. Bugzilla

Một công cụ theo dõi lỗi khác được sử dụng trong con người trong testing

Nó được nhiều tổ chức sử dụng rộng rãi nhất để theo dõi các lỗi khác nhau của ứng dụng.

Bugzilla là một công cụ mã nguồn mở giúp khách hàng và khách hàng theo dõi các lỗi. Bugzilla cũng được coi là một công cụ quản lý thử nghiệm vì trong đó, chúng ta có thể dễ dàng liên kết các công cụ quản lý trường hợp thử nghiệm khác như ALM, Trung tâm chất lượng, v.v.

Đặc điểm của Bugzilla

  • Bugzilla có một số tính năng bổ sung giúp chúng tôi báo cáo lỗi dễ dàng:
  • Nó hỗ trợ nhiều hệ điều hành khác nhau như Windows, Linux và Mac.
  • Với sự trợ giúp của Bugzilla, chúng tôi có thể liệt kê một lỗi ở một số định dạng.
  • Sở thích của người dùng có thể đo lường thông báo qua email.
  • Bugzilla có khả năng tìm kiếm nâng cao.
  1. Mantis

Mantis là một hệ thống theo dõi lỗi dựa trên web. MantisBT là viết tắt của Mantis Bug Tracker. Nó được sử dụng để theo dõi các lỗi phần mềm và được thực hiện bằng ngôn ngữ lập trình PHP. Nó cũng là một công cụ mã nguồn mở.

Một số tính năng tiêu chuẩn của công cụ cụ thể như sau:

  • Với sự trợ giúp của công cụ này, chúng tôi có khả năng tiếp cận tìm kiếm toàn văn bản.
  • Kiểm tra theo dõi các thay đổi được thực hiện đối với các vấn đề.
  • Nó cung cấp tích hợp hệ thống kiểm soát sửa đổi.
  • Kiểm soát sửa đổi các trường văn bản và ghi chú
  1. Tessy

Một công cụ kiểm tra tích hợp khác là Tessy, được sử dụng để thực hiện tích hợp và kiểm tra đơn vị cho phần mềm nhúng. Nó cũng giúp chúng tôi khám phá phạm vi mã của phần mềm hoặc ứng dụng.

Nó có thể dễ dàng quản lý toàn bộ tổ chức thử nghiệm, bao gồm nhu cầu kinh doanh, quản lý thử nghiệm, số lượng bao phủ và khả năng truy xuất nguồn gốc.

Tessy chứa ba chức năng chính, như sau:

  • Trình chỉnh sửa giao diện thử nghiệm (TIE)
  • Trình chỉnh sửa dữ liệu thử nghiệm (TDE)
  • Không gian làm việc.

Các tính năng tiêu chuẩn của TESSY như sau:

  • Nó tạo ra báo cáo thử nghiệm cho các kết quả thực hiện thử nghiệm.
  • Nó hỗ trợ nhiều ngôn ngữ lập trình khác nhau như C và C ++.
  • Tessy được sử dụng để đánh giá giao diện của hàm và mô tả biến được sử dụng bởi hàm đó.

Kết luận

Trong bài viết này, chúng ta đã xem thông tin chi tiết về Manual Testing, bao gồm định nghĩa về Manual Testing, sự cần thiết của Manual Testing, loại Manual Testing, công cụ Manual Testing, quy trình Manual Testing và một số lợi ích và nhược điểm quan trọng của nó .

Cuối cùng, chúng ta có thể nói rằng, đó là một quá trình mà kỹ sư kiểm thử cần phải rất kiên trì, đổi mới và nhạy bén.

Trong Manual Testing, kỹ sư kiểm thử cần suy nghĩ và thực hiện giống như phiên dịch của người dùng cuối.

Để thực hiện Manual Testing, một kỹ sư kiểm thử cần có kỹ năng và trí tưởng tượng hiệu quả. Và họ cần nghĩ ra nhiều tình huống hoặc kịch bản để kiểm tra một ứng dụng cụ thể.

Mặc dù hiện tại chúng ta có thể kiểm tra gần như tất cả các ứng dụng với sự trợ giúp của kiểm thử tự động, nhưng Manual Testing vẫn là cần thiết vì nó là cơ sở của kiểm thử phần mềm.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now