4 keys để quản lý dữ liệu kiểm thử tốt hơn
Bài đăng này đã không được cập nhật trong 3 năm
Một cách hài hước của giáo viên thường hay nói với chúng ta khi chúng ta đã bị mất (hoặc không hoàn thành) bài tập về nhà rằng: "Con chó đã ăn mất bài tập về nhà"?. Đôi khi chúng ta cảm thấy như vậy khi chúng ta không thể tìm thấy dữ liệu thử nghiệm! Có lẽ chúng ta không thể tìm thấy dữ liệu thử nghiệm phù hợp với trường hợp thử nghiệm. Những lần khác, chúng tôi phát hiện ra rằng các dữ liệu thử nghiệm, chúng tôi cần thiết cho một bài test ngay lập tức đã được tiêu thụ. Dù bằng cách nào, thiếu dữ liệu kiểm thử gây ra sự chậm trễ và thất vọng trong việc cung cấp các phần mềm chất lượng.
Kiểm tra nghiêm ngặt và liên tục đòi hỏi dữ liệu kiểm thử cần phải được đáp ứng ngay với các trường hợp kiểm thử cụ thể trong toàn bộ quá trình phát triển. Không có nhiều thời gian cho lời xin lỗi. Chúng ta cần test data và chúng ta cần nó bây giờ!
Test Data là gì?
Bạn kiểm thử một text-box như thế nào? Đơn giản bằng cách nhập & gửi những dữ liệu text khác nhau. Các hoán vị và sự kết hợp của các dữ liệu text được sử dụng cho mục đích kiểm thử được gọi là Test Data, tức là dữ liệu được sử dụng cho mục đích kiểm thử. Để kiểm thử một text-box, đầu tiên chúng tôi sẽ chuẩn bị dữ liệu kiểm thử, gồm: numeric, alphabets, alphanumeric, max length, special characters,... Như các chức năng ứng dụng lớn, thì các dữ liệu test tương ứng để được sử dụng để kiểm thử. Theo định nghĩa, dữ liệu kiểm thử có thể được coi là bất kỳ loại đầu vào nào ứng dụng trong khi kiểm thử. Có thể bao gồm thông tin tài khoản, dữ liệu về môi trường, dữ liệu cài đặt, dữ liệu Input /Output, các file Uploaded, các bảng cơ sở dữ liệu, dữ liệu chuyển tiếp, ... Có dữ liệu đúng là rất quan trọng để việc kiểm thử được toàn diện và thành công. Các dữ liệu cơ bản bao gồm "happy path" data, dữ liệu ngoài phạm vi, và dữ liệu tiêu cực. Càng nhiều dữ liệu tiêu biểu thì việc test sẽ càng kỹ lưỡng hơn.
Tầm quan trọng của Test Data trong kiểm thử phần mềm
Để xây dựng và kiểm thử các ứng dụng một cách nhanh chóng, bạn cần phải tạo bộ dữ liệu test một cách nhanh chóng. Nhiều công ty đang thiết lập một đội ngũ quản lý dữ liệu test tập trung để phục vụ nhu cầu của tất cả developers và testers. Chúng được sắp xếp hợp lý toàn bộ quá trình thu thập, bảo mật, và trích lập dự phòng dữ liệu kiểm thử. Họ sử dụng một giải pháp quản lý dữ liệu test , giải quyết những thách thức chung và giữ cho công ty đạt được mục tiêu kiểm thử liên tục của họ, bao gồm:
- Tuân theo đúng dữ liệu kiểm thử: Nhiều tổ chức thường xuyên tạo ra nhiều bản sao của dữ liệu production cho mục đích kiểm thử. Họ có thể che giấu các dữ liệu nhạy cảm, nhưng không phải luôn như vậy. Khi các developers không đủ thời gian để hoàn tất ứng dụng, họ có thể sẽ bỏ một phần nào đó. Điều này có nghĩa là cần phải lấy dữ liệu test từ bất cứ nơi nào họ có thể nhận được nó.
- Sử dụng dữ liệu kiểm thử có tính khả dụng: Có thể chiếm đến hơn 50% thời gian của tester là để chờ đợi dữ liệu test. Việc không có dữ liệu test có lẽ là một trong những tắc nghẽn lớn nhất để đạt được mục tiêu kiểm thử liên tục. Do đó, một số tổ chức có thể dành nhiều ngày hoặc nhiều tuần cho việc xây dựng dữ liệu kiểm thử.
- Thử nghiệm dữ liệu mới: Trong nhiều trường hợp, dữ liệu phải được làm mới cho mỗi lần test tiếp theo. Nếu không có một giải pháp quản lý dữ liệu test, cài đặt lại dữ liệu test phải được thực hiện bằng tay, nó rất chậm trễ cũng như tốn thời gian ngang bằng việc tạo ra các dữ liệu test ban đầu.
Chuẩn bị data test cẩn thận là một khái niệm quan trọng cho thành công của kiểm thử phần mềm. Không có dữ liệu test, dữ liệu lỗi thời hoặc sai có thể dẫn đến kết quả kiểm thử không đáng tin cậy: có thể là miss bug hoặc bug trở thành invalid. Tùy thuộc vào các dữ liệu test được sử dụng, tester có thể xác minh các kết quả mong đợi và các hành vi phần mềm trong trường hợp dữ liệu đầu vào không hợp lệ (kiểm tra khả năng của ứng dụng có đáp ứng được với đầu vào bất thường, cực đoan, đặc biệt, hoặc đột xuất). Đó là lý do tại sao không bao giờ được quên tầm quan trọng của quản lý dữ liệu test - ngay cả sau khi bạn đã test kỹ lưỡng thì bạn cũng không thể biện minh cho một bug bị miss do không đúng hoặc thiếu dữ liệu test. Vì vậy Test Data luôn phải được chuẩn bị trước khi bạn bắt đầu thực hiện kiểm thử thực tế. Hãy tham khảo sử dụng checklist dưới đây:
• No data / Default data • Dữ liệu hợp lệ • Dữ liệu không hợp lệ • Dữ liệu định dạng bất hợp lệ (corrupted) • Ranh giới của điều kiện dữ liệu • Dữ liệu cho các loại test: performance, load và stress
4 Keys để quản lý dữ liệu kiểm thử tốt hơn
Quản lý dữ liệu kiểm thử thực sự là một thách thức lớn. Một giải pháp quản lý dữ liệu kiểm thử kết hợp với một chiến lược thực tế sẽ giúp dev và đội kiểm thử của bạn có hiệu quả hơn. Bạn sẽ có thể để đo lường được một phần sự thành công của mình bằng cách nhìn thấy ứng dụng được bàn giao sớm hơn và có ít lỗi hơn. Khi triển khai giải pháp quản lý dữ liệu kiểm thử, chúng tôi đã tìm ra 4 keys quan trọng để việc quản lý test data tốt hơn.
Key # 1: Khám phá và Phân tích dữ liệu thử nghiệm
Nhiệm vụ đầu tiên trong kế hoạch quản lý dữ liệu test là kiểm kê các dữ liệu mà bạn có trong tay. Bạn có dữ liệu nằm rải rác trên nhiều hệ thống và dưới các định dạng khác nhau, bạn nên xác định các dữ liệu cần thiết dựa trên các test cases của bạn. Điều này có nghĩa là bạn phải sử dụng một công cụ để xem xét các yêu cầu kinh doanh end-to-end của ứng dụng và có thể liên kết các dữ liệu với các lần test. Việc xác định dữ liệu kiểm thử được một thời gian tiêu thụ và quá trình dễ bị lỗi. Một cách tiếp cận tốt hơn của giải pháp quản lý dữ liệu kiểm thử là đảm bảo và dữ liệu trực quan.
Key # 2: Bảo vệ dữ liệu nhạy cảm
Việc kiểm tra toàn diện ứng dụng đòi hỏi việc sử dụng các dữ liệu thực tế. Những thông tin này được chọn lọc từ cơ sở dữ liệu production và sau đó được mask để giúp đảm vệ các phần dữ liệu nhạy cảm. Quy định liên tục và mới như GDPR được nâng cao về bảo vệ dữ liệu nhạy cảm, đặc biệt là khi sử dụng trong các môi trường kiểm thử. Nhưng chỉ có những dữ liệu kiểm thử đơn thuần là không đủ. Bạn cần phải có dữ liệu phù hợp để kiểm tra bất thường mà chắc chắn sẽ xảy ra với người dùng cuối. Phương pháp tiếp cận khác để xây dựng dữ liệu kiểm thử, chẳng hạn như tạo ra các dữ liệu tổng hợp nên được sử dụng khi thu thập, bảo vệ và sử dụng dữ liệu kiểm thử. Dữ liệu phức tạp có thể được tạo ra và đồng thời đưa vào nhiều loại cơ sở dữ liệu.
Key # 3: Cung cấp dữ liệu thử nghiệm theo yêu cầu
Dữ liệu của bạn phải được xây dựng để có thể dùng lại. Dữ liệu có thể được chia sẻ từ một kho lưu trữ trung ương, sẽ tối đa hóa giá trị của các việc đã hoàn thành và cho phép dữ liệu mới được xây dựng dựa trên các thành phần có sẵn. Bộ dữ liệu có thể được lưu trữ như là tài sản tái sử dụng từ một kho lưu trữ trung ương và sau đó được cung cấp cho nhiều nhóm test dùng lại tùy theo yêu cầu. Khi dữ liệu được cấp phép, nó được nhân bản với đầy đủ phiên bản cho phép các nhóm test có thể làm việc từ nhiều phiên bản song song. Tắc nghẽn được loại bỏ và các testers không còn phải lãng phí thời gian chờ đợi dữ liệu hoặc phải tạo nó bằng tay nữa. Họ có thể yêu cầu và nhận dữ liệu test trong vài phút bằng cách sử dụng một cổng thông tin dựa trên web.
Key # 4: Tự động hóa quy trình
Làm thế nào để bạn quyết định dữ liệu test nào được sử dụng? Thế nên, bạn cần phải có một cách tiếp cận có hệ thống. Cách tiếp cận để quản lý dữ liệu test phụ thuộc vào nhiều yếu tố, quan trọng nhất là dựa vào ứng dụng đang ở giai đoạn test nào. Test data có thể được ghi lại bằng bất cứ cách nào như file Excel, Word, file Text, ... Các dữ liệu được lưu trữ trong Excel có thể được nhập bằng tay trong khi chạy các trường hợp kiểm thử hoặc có thể được đọc tự động từ các tập tin (XML, file Flat, Database,...) bằng cách sử dụng các tool tự động. Một vài phương pháp để tạo ra dữ liệu test, đó là: phương pháp lấy mẫu, sao chép dữ liệu production (được sử dụng bởi end-users), sao chép dữ liệu từ hệ thống có sẵn của khách hàng, dữ liệu tự sinh ra từ các tool tự động, ... Bạn nghĩ sao nếu bạn có thể tự động hóa toàn bộ quá trình từ kịch bản, che dấu dữ liệu, phát sinh dữ liệu, sao chép và trích lập dự phòng? Khi dữ liệu test có được cụ thể hóa đến từng trường hợp, việc test có thể được tự động bằng tool kiểm thử tự động như CA Apllication Test và công cụ quản lý vòng đời như CA Agile Central. Điều này đảm bảo dữ liệu ổn định sẽ được cung cấp ngay khi cần cho các testers. Ngoài ra, khi các test cases và data được liên kết, chúng ta chỉ việc theo dõi các yêu cầu, khi yêu cầu thay đổi, dữ liệu có thể được cập nhật tự động.
Value-add :
- Chuẩn bị dữ liệu thử nghiệm là một phần của các hoạt động thiết lập môi trường test
- Hãy sáng tạo, sử dụng kỹ năng và óc phán đoán của riêng bạn để tạo ra các dữ liệu khác nhau từ việc sử dụng dữ liệu chuẩn production trong khi kiểm thử.
Lời Kết: Thách thức là để tạo ra dữ liệu mà thực sự phản ánh dữ liệu production đòi hỏi phải có sự hiểu biết về kinh doanh và cách người dùng sẽ sử dụng ứng dụng. Sự gia tăng của các phương pháp phát triển phần mềm mới đòi hỏi chu kỳ phát hành lặp đi lặp lại nhiều hơn và ngắn hơn, nó tạo ra những thách thức mới cho quản lý dữ liệu kiểm thử . Việc tìm kiếm các công nghệ mới để làm cho các dữ liệu test một cách an toàn, nhanh chóng và dễ dàng sẽ làm cho chất lượng quản lý dữ liệu kiểm thử được nâng cao hơn. Quản lý dữ liệu test tốt hơn sẽ làm cho ứng dụng được bàn giao nhanh hơn, và cuối cùng đạt được các mục tiêu kinh doanh đã đề ra nhanh hơn. Với các giải pháp quản lý dữ liệu thử nghiệm đúng đắn, bạn có thể tạo một liên kết giữa các yêu cầu, các trường hợp kiểm thử, dữ liệu test, tài sản ảo. Và sau đó khi có ai hỏi bạn nơi để tìm thấy dữ liệu kiểm thử, bạn có thể nói cho họ biết ở đâu.
Nguồn tham khảo: http://servicevirtualization.com/4-keys-better-test-data-management
All rights reserved