Tự động hóa kiểm tra là gì ? (Phần 1)

long8564

Active Member
Moderator
1.Kiểm tra tự động là gì?
Kiểm thử tự động là một phương pháp trong phần mềm kiểm thử sử dụng các công cụ tự động hóa để kiểm soát việc thực hiện các kiểm thử thay vì đối tượng kiểm thử là con người. Sau đó, nó so sánh kết quả thử nghiệm thực tế với kết quả dự đoán hoặc mong đợi. Kiểm tra tự động mang lại hiệu quả cao hơn và thời gian tiếp thị nhanh hơn cho các dự án của bạn.
Kiểm thử tự động còn được gọi là kiểm thử tự động hóa hoặc kiểm thử QA tự động. Khi được thực thi tốt, nó sẽ giảm bớt phần lớn các yêu cầu thủ công của vòng đời thử nghiệm.
2.Các loại kiểm tra tự động
Hầu hết các thử nghiệm được thực hiện thủ công có thể được tự động hóa. Những gì người dùng sẽ thực hiện theo cách thủ công có thể được sao chép bằng một tập lệnh tự động hóa. Tuy nhiên, không phải tất cả các thử nghiệm đều phải được tự động hóa và chúng ta sẽ xem xét vấn đề này ở phần sau của bài viết này.
Dưới đây là danh sách an toàn các loại kiểm tra có thể được tự động hóa mà không nghi ngờ gì.
  1. Kiểm tra đơn vị – Unit inspection
Kiểm thử đơn vị là khi bạn tách biệt một đơn vị ứng dụng của mình khỏi phần còn lại của phần mềm và kiểm tra hành vi của nó. Các bài kiểm tra này không phụ thuộc vào các API bên ngoài, cơ sở dữ liệu hoặc bất kỳ thứ gì khác.
Nếu bạn có một chức năng mà bạn muốn thực hiện kiểm tra đơn vị và chức năng đó sử dụng một số thư viện bên ngoài hoặc thậm chí một đơn vị khác từ cùng một ứng dụng, thì các tài nguyên này sẽ bị chế nhạo.
Mục đích chính của kiểm thử đơn vị là để xem từng thành phần trong ứng dụng của bạn sẽ hoạt động như thế nào mà không bị tác động bởi bất kỳ thứ gì khác. Kiểm thử đơn vị được thực hiện trong giai đoạn phát triển, được coi là cấp độ đầu tiên của kiểm thử.
  1. Kiểm tra tích hợp – Integration testing
Trong kiểm tra tích hợp, bạn kiểm tra cách các đơn vị được tích hợp một cách hợp lý và cách chúng hoạt động như một nhóm.
Mục đích chính của kiểm thử tích hợp là để xác minh cách các mô-đun giao tiếp và hoạt động với nhau và để đánh giá sự tuân thủ của một hệ thống.
  1. Kiểm tra khói – Smoke testing
Kiểm tra khói được thực hiện để kiểm tra xem việc xây dựng hệ thống có ổn định hay không. Tóm lại, mục đích của nó là để kiểm tra xem các chức năng chính có hoạt động bình thường hay không để người kiểm tra có thể tiến hành kiểm tra thêm.
4. Kiểm tra hồi quy – Regression Testing
Kiểm tra hồi quy kiểm tra xem thay đổi mã gần đây có ảnh hưởng đến bất kỳ tính năng hiện có nào của ứng dụng được đề cập hay không. Nói một cách dễ hiểu, nó xác minh rằng những thay đổi được thực hiện đối với hệ thống không phá vỡ bất kỳ chức năng nào đang hoạt động chính xác trước khi triển khai chúng.
Để kết thúc phần này, có một số loại kiểm tra có thể được tự động hóa. Tự động hóa kiểm tra là khi bạn định cấu hình tập lệnh / chương trình để thực hiện các bước tương tự như cách bạn làm để kiểm tra phần mềm theo cách thủ công.
Bạn thiết kế tập lệnh đó để chờ các giá trị nhất định được trả về hoặc các sự kiện nhất định sẽ diễn ra.
Cuối cùng, tập lệnh sẽ thực hiện bất cứ điều gì bạn đã hướng dẫn và nó sẽ cho bạn biết kết quả kiểm tra có giống như kết quả bạn mong đợi hay không.

3.Ví dụ về kiểm tra tự động
Hãy áp dụng mô tả ở trên cho đoạn mã sau.
Đoạn mã trên là một hàm đơn giản sẽ trả về thời gian hiện tại trong ngày dưới dạng chuỗi: “Đêm”, “Buổi sáng” và “Buổi chiều”.
Để kiểm tra thủ công hàm này, tất cả những gì chúng ta phải làm là chạy chương trình này và ở đâu đó bên trong nó để gọi hàm mà chúng ta quan tâm. Do đó, tôi đã cập nhật đoạn mã này với các câu lệnh sau, được đặt sau hàm get Time Of The Day ():
Nếu tôi thực thi mã này ngay bây giờ, kết quả sẽ như sau:
Tôi đã thực hiện chương trình này lúc 17:44 (5:44 chiều) nên giờ hiện tại là 17 và giá trị trả về từ hàm mà tôi muốn kiểm tra là Chiều . Vì vậy, cho đến bây giờ, chức năng của tôi đang hoạt động như mong đợi.
Nếu tôi muốn chuyển đổi thử nghiệm này và tự động hóa thì tôi có thể viết tập lệnh sau.
Với điều này tại chỗ, tôi không còn cần phải gọi thủ công getTimeOfTheDay ()chức năng trong mã của tôi. Tôi có thể chỉ cần chạy tập lệnh tự động hóa này, nó sẽ chạy chức năng và thông báo cho tôi nếu giá trị trả về là Chiều
Giờ đây, bài kiểm tra này sẽ chỉ vượt qua nếu chúng tôi chạy tập lệnh này trong khoảng thời gian từ [12,18) – [12 giờ trưa, 6 giờ chiều).
Nếu không, nó sẽ trông giống như thế này:
Đây là một ví dụ tầm thường. Một kịch bản trường hợp thực sẽ là một kịch bản thử nghiệm được sử dụng để tự động hóa một bộ hồi quy . Đó là một tập lệnh sẽ kiểm tra xem ứng dụng có còn hoạt động như mong đợi hay không sau những thay đổi nhỏ / lớn về mã.
4.Tại sao Tự động hóa Kiểm tra lại Quan trọng?
Cung cấp trải nghiệm ứng dụng nhất quán trên các thiết bị là rất quan trọng. Người dùng mong đợi các tương tác tức thì, liền mạch. Và mọi trải nghiệm kỹ thuật số đều phản ánh thương hiệu của bạn – đó là lý do tại sao thử nghiệm ứng dụng dành cho thiết bị di động phải là một phần không thể thiếu trong chiến lược thử nghiệm tổng thể của bạn.
Agile và DevOps là những mô hình mới cho kỹ thuật phần mềm hiện đại. Điều này đã thay đổi cách mã đang được phát triển, thử nghiệm và sử dụng bởi các doanh nghiệp và người tiêu dùng. Và hầu hết mọi tổ chức ngày nay đều cung cấp một số loại phần mềm (ví dụ: ứng dụng ngân hàng di động hoặc công cụ làm thủ tục chuyến bay trực tuyến).
Điều này đặc biệt đúng khi nói đến thử nghiệm.
Các bản phát hành phần mềm mới đang được phân phối nhanh hơn và thường xuyên hơn bao giờ hết. Điều quan trọng đối với các công ty có bất kỳ mức độ ảnh hưởng kỹ thuật số nào là cải thiện hiệu quả và độ chính xác của thử nghiệm để theo kịp các đối thủ cạnh tranh của họ. Không gian di động bị phân mảnh đến mức khó tin. Giữa các thiết bị, thế hệ và hệ điều hành, có hàng nghìn hoán vị để kiểm tra. Nhưng với tự động hóa thử nghiệm trên thiết bị di động, bạn có thể nhanh chóng mở rộng các thử nghiệm của mình và tăng cường phạm vi phủ sóng để tăng tốc phân phối.
Kiểm tra ở mọi giai đoạn của quy trình phân phối – được gọi là kiểm tra liên tục – hiện là một phần không thể thiếu trong cách các công ty hoạt động ngày nay. Và tự động hóa kiểm tra là chìa khóa thành công của bạn.
Đồng thời, tự động hóa kiểm tra có thể tiết kiệm rất nhiều thời gian và cuối cùng là rất nhiều tiền. Thực hiện theo cách thủ công các tình huống giống nhau mỗi khi một thay đổi phần mềm mới xảy ra chỉ để đảm bảo rằng các tính năng khác không bị hỏng có thể là một quá trình tẻ nhạt sẽ chỉ ngày càng lâu hơn.
Những thách thức chung của tự động hóa kiểm tra
Tuy nhiên, tự động hóa thử nghiệm có một số thách thức, đặc biệt là khi nó lần đầu tiên được áp dụng.
  • Việc tạo thử nghiệm phức tạp dẫn đến tỷ lệ phần trăm thử nghiệm thủ công cao.
    • Báo cáo nhiễu như âm tính giả dẫn đến phản hồi thử nghiệm không liên quan.
    • Tự động hóa kiểm tra không đáng tin cậy dẫn đến tỷ lệ kiểm tra thủ công cao.
    • Thực hiện kiểm thử song song trong khi mở rộng quy mô đòi hỏi đầu tư CNTT đáng kể.
    • Quản lý một phòng thí nghiệm trong nhà rất tốn kém và khó cập nhật.
Những thách thức chung này có thể dễ dàng vượt qua với chiến lược tự động hóa phù hợp và các công cụ tự động hóa phù hợp.
 
Top