Làm việc với Test Studio

Trong hướng dẫn bắt đầu nhanh này, bạn sẽ tạo thử nghiệm cho một ứng dụng canvas có tên là Kudos. Bạn cũng có thể thăm dò và khám phá các khái niệm thử nghiệm rồi áp dụng chúng cho bài thử nghiệm viết cho các ứng dụng canvas của riêng bạn. Ứng dụng Kudos tương tự là một phần của bộ ứng dụng gắn kết nhân viên có sẵn để tải xuống từ Bộ khởi động trải nghiệm dành cho nhân viên.

Xem video sau để tìm hiểu cách làm việc với Test Studio:

Mở Test Studio

  1. Đăng nhập vào Power Apps.

  2. Tạo một ứng dụng mới hoặc chỉnh sửa ứng dụng hiện có.

  3. Lưu ứng dụng vào Power Apps để mở Test Studio.

    Lưu ý

    Bạn phải lưu ứng dụng trước khi có thể viết thử nghiệm cho ứng dụng.

  4. Chọn Công cụ nâng cao ở điều hướng bên trái.

  5. Chọn Mở thử nghiệm để mở Test Studio cho ứng dụng này. Hành động này sẽ mở Studio thử nghiệm trong tab trình duyệt mới.

    Mở Test Studio.

Lưu ý

Thử nghiệm được phát hành và lưu trữ trong gói ứng dụng. Xuất và nhập một gói ứng dụng canvas sang một môi trường khác cũng sẽ bao gồm tất cả các định nghĩa thử nghiệm, chẳng hạn như bộ thử nghiệm và trường hợp thử nghiệm mà bạn đã tạo.

Tạo một bộ thử nghiệm

Theo mặc định, bộ thử nghiệm và trường hợp thử nghiệm được tạo cho bạn trong Test Studio. Bộ thử nghiệm được dùng để sắp xếp các trường hợp thử nghiệm của bạn. Một ứng dụng có thể chứa một hoặc nhiều bộ thử nghiệm. Bạn có thể sử dụng trường hợp và bộ thử nghiệm mặc định để bắt đầu viết thử nghiệm của mình ngay lập tức hoặc tạo một bộ thử nghiệm mới.

  1. Chọn Bộ mới.

  2. Cập nhật Mô tả và tên bộ thử nghiệm bằng cách chọn các trường trên lưới chính.

    Bộ thử nghiệm mới.

Tạo một trường hợp thử nghiệm

Tùy thuộc vào cách bạn muốn sắp xếp hoặc nhóm thử nghiệm của mình, bạn có thể tạo nhiều trường hợp thử nghiệm trong một bộ thử nghiệm. Mỗi trường hợp có thể thử nghiệm một tính năng cụ thể hoặc một tập hợp con chức năng trong ứng dụng của bạn.

  1. Chọn một bộ thử nghiệm.
  2. Chọn Trường hợp mới trên menu trên cùng để tạo một trường hợp mới.
  3. Cập nhật Mô tả và tên trường hợp thử nghiệm bằng cách chọn các trường trên lưới chính.

Trường hợp thử nghiệm mới.

Ghi lại một trường hợp thử nghiệm

Một trường hợp thử nghiệm bao gồm các bước thử nghiệm có chứa hành động. Hành động thử nghiệm được viết bằng biểu thức Power Apps thực hiện một nhiệm vụ. Bạn có thể sử dụng công cụ ghi để tự động tạo các bước thử nghiệm khi tương tác với ứng dụng. Sau khi ghi, bạn có thể cập nhật trường hợp thử nghiệm, thêm bước mới, xóa bước và viết xác nhận thử nghiệm để xác thực kết quả thử nghiệm.

Lưu ý

Chỉ một ứng dụng đã phát hành mới phát ở chế độ ghi. Đăng mọi thay đổi gần đây đối với ứng dụng trước khi bạn bắt đầu ghi một trường hợp thử nghiệm. Việc ghi mà không đăng các thay đổi gần đây sẽ khiến phiên bản ứng dụng đã đăng lần gần nhất phát ở chế độ ghi.

  1. Chọn Ghi từ menu trên cùng. Hành động này mở ứng dụng được phát hành với chế độ ghi trong tab trình duyệt mới.

    Quan trọng

    Quá trình ghi trên một trường hợp thử nghiệm có sẵn sẽ ghi đè các bước thử nghiệm đã có.

    Ghi thử nghiệm.

  2. Tương tác với ứng dụng của bạn. Các hành động của bạn sẽ được ghi ở ngăn bên trái.

  3. Sau khi quá trình tương tác hoàn thành, hãy chọn Xong. Hoặc, bạn có thể chọn Hủy để quay lại Test Studio mà không có tương tác nào của bạn bị ghi.

    Lưu bản ghi.

  4. Xem các bước thử nghiệm và biểu thức tự động được tạo cho bạn trong Test Studio.

  5. Chỉnh sửa văn bản mô tả bước trong lưới chính nếu cần thiết. Bạn cũng có thể cập nhật các hành động của bước thử nghiệm bằng cách chọn công thức trên lưới chính.

    Cập nhật trường hợp thử nghiệm.

Thêm bước thử nghiệm và xác nhận thử nghiệm

Mỗi trường hợp kiểm thử nên có một kết quả mong đợi. Trong ví dụ Kudos, một trong những kết quả mong đợi của việc gửi một kudo là tạo một bản ghi mới trong cơ sở dữ liệu Microsoft Dataverse (Dataverse). Bây giờ bạn sẽ cập nhật trường hợp kiểm tra và thêm các bước kiểm tra bổ sung để xác thực rằng bản ghi đã được tạo thành công.

Làm theo các bước sau để xác minh quá trình tạo bản ghi thành công:

  • Khởi tạo một biến cho số bản ghi kudo trong cơ sở dữ liệu ở đầu trường hợp thử nghiệm.
  • Khởi tạo một biến cho số bản ghi kudo trong cơ sở dữ liệu ở cuối trường hợp thử nghiệm.
  • Viết biểu thức xác nhận thử nghiệm để xác thực nó được tăng lên theo một số lượng. Nếu số lượng không tăng thêm một, xác nhận kiểm tra thất bại và trường hợp kiểm tra của bạn không thành công.

Cách thêm bước thử nghiệm và xác nhận thử nghiệm trong ứng dụng Kudos:

  1. Chọn Bước 1 hoặc bước ở trên mà bạn muốn chèn một bước mới.

  2. Chọn Chèn một bước ở trên từ menu trên cùng hoặc bằng cách chọn tùy chọn từ hàng hoạt động. Hành động này tạo ra một bước trống.

    Chèn bước.

    Lưu ý

    Khi bạn chọn Chèn bước ở trên, một bước trống mới được thêm trên bước hiện tại. Bạn cũng có thể sử dụng các hành động Xác nhận, Đặt thuộc tính, Chọn hoặc Truy vết. Thao tác này sẽ thêm một bước có công thức hành động tương ứng mà bạn có thể chỉnh sửa.

  3. Cập nhật mô tả bước. Chẳng hạn, "Đếm Kudo trong cơ sở dữ liệu".

  4. Nhập biểu thức hoặc công thức vào phần nhập hành động để đếm số bản ghi trong cơ sở dữ liệu trước khi thực hiện thử nghiệm.

    Bạn có thể sử dụng mọi biểu thức được hỗ trợ. Bạn cũng có thể truy vấn bất kỳ nguồn dữ liệu, bộ sưu tập, biến hoặc chạy các luồng có trong ứng dụng và tạo các biến hoặc bộ sưu tập toàn cầu mới để sử dụng trong các thử nghiệm của bạn.

    Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  5. Select Step 2 or the step above which you want to insert a new step.

  6. Select Insert a step above from the top menu or by selecting the option from the active row. This action creates an empty step.

  7. Enter an expression or formula in the action input to Trace and write the kudosBeforeTest value to test the results record.

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Kudos trước khi thử nghiệm.

  8. Chuyển tới phần cuối của trường hợp thử nghiệm và chèn một bước mới để đếm số bản ghi trong cơ sở dữ liệu sau khi thử nghiệm đã hoàn thành.

    Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  9. Add a final step to validate that the record count in the database has increased by a count of 1, and enter the following assertion action to verify:

    Assert(kudosAfterTest = kudosBeforeTest + 1, "Kudos count incorrect. Expected : " & kudosBeforeTest + 1  & " Actual :" & kudosAfterTest)
    

    Kudos sau khi xác nhận thử nghiệm.

  10. Lưu trường hợp thử nghiệm từ menu bên phải trên cùng trong Test Studio.

Phát lại thử nghiệm của bạn

Bạn có thể phát lại thử nghiệm đã ghi để xác thực chức năng của ứng dụng. Bạn có thể phát lại tất cả các thử nghiệm trong một bộ thử nghiệm hoặc trường hợp thử nghiệm.

Trước khi phát lại bản ghi với những thay đổi gần đây, bạn phải phát hành ứng dụng:

Phát mà không phát hành.

Quan trọng

Nếu bạn bỏ qua thao tác phát hành, quá trình phát lại bản ghi sẽ không bao gồm các thay đổi thử nghiệm gần đây. Bộ hoặc trường hợp thử nghiệm mới phát hành sẽ phát dựa trên ứng dụng.

  1. Chọn Phát hành để tự động lưu và phát hành kiểm tra của bạn.

    Phát hành những thay đổi.

  2. Chọn một bộ thử nghiệm hoặc một trường hợp thử nghiệm.

  3. Chọn Phát. Ứng dụng đã phát hành sẽ mở ở chế độ Phát và bạn có thể thấy các bước thử nghiệm phát lại tự động. Một dấu kiểm màu xanh lá cho biết khi nào một bước thử nghiệm được thực hiện thành công. Nếu bước này thất bại, một chỉ báo thất bại màu đỏ cùng với thông báo thất bại sẽ hiển thị.

    Chế độ phát.

  4. Chọn Xong để quay lại Test Studio.

Xác nhận không thành công

Trong phần này, bạn sẽ thay đổi xác nhận thử nghiệm để trải nghiệm thử nghiệm không thành công:

  1. Chỉnh sửa bước xác nhận bằng cách chọn hộp biểu thức.

  2. Cập nhật + 1 thành + 2 trong hành động thử nghiệm. Bản cập nhật này có nghĩa là kiểm tra muốn tạo 2 bản ghi, điều này không phù hợp. Nếu thử nghiệm thành công, chỉ một bản ghi nên được tạo trong cơ sở dữ liệu.

    Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2  & " Actual :" & kudosAfterTest)
    

    Cập nhật số lượng xác nhận.

  3. Chọn Xuất bản.

  4. Chọn Phát.

  5. Xem thử nghiệm phát lại. Bước cuối cùng hiện không thành công và hiển thị lỗi cũng như thông báo mà bạn đã cung cấp trong bước xác nhận.

    Lỗi phát lại.

Phát thử nghiệm trong một trình duyệt

Bạn có thể sao chép một liên kết để phát kiểm tra trong trình duyệt riêng bên ngoài Test Studio. Điều này giúp tích hợp các kiểm tra của bạn trong một quy trình xây dựng và phát hành liên tục như Azure DevOps.

Liên kết phát cho thử nghiệm đã chọn được tiếp tục. Thao tác này không thay đổi đối với bộ thử nghiệm hoặc trường hợp thử nghiệm. Bạn có thể cập nhật thử nghiệm mà không cần sửa đổi quá trình tạo và phát hành.

Cách phát thử nghiệm trong trình duyệt của bạn:

  1. Chọn một bộ thử nghiệm hoặc một trường hợp thử nghiệm ở ngăn bên phải.

  2. Chọn Sao chép liên kết phát.

    Sao chép liên kết phát.

  3. Bạn được nhắc phát hành kiểm tra của mình nếu có bất kỳ thay đổi nào chưa được phát hành.

    Phát hành trước khi sao chép liên kết.

  4. Bạn có thể chọn bỏ qua quá trình phát hành và sao chép liên kết phát. Thay đổi kiểm tra mới không phát nếu bạn bỏ qua.

    Đã sao chép liên kết phát.

  5. Mở một trình duyệt và dán URL vào thanh địa chỉ để phát thử nghiệm.

  6. Xem quá trình phát lại thử nghiệm của bạn.

Thiết lập kiểm tra của bạn

Thuộc tính OnTestCaseStart của Test Suite có thể được dùng để thiết lập kiểm tra của bạn. Biểu thức được nhập cho thuộc tính này kích hoạt cho mọi trường hợp thử nghiệm trong một bộ trước khi trường hợp bắt đầu thực thi. OnTestCaseStart giúp bạn tránh viết các bước kiểm tra tương tự khi bắt đầu mỗi trường hợp. Bạn có thể tùy chỉnh thuộc tính này để chạy các tác vụ thiết lập phổ biến cho tất cả các trường hợp trong bộ này, chẳng hạn như:

  • Luôn luôn bắt đầu thực hiện kiểm tra từ màn hình đầu tiên.
  • Khởi tạo các bộ sưu tập hoặc biến chung.
  • Tìm nạp dữ liệu thử nghiệm từ nguồn dữ liệu cho thử nghiệm thực thi hiện tại

Bản ghi TestCaseInfo chứa thông tin chi tiết cho kiểm tra hiện tại đang thực thi. Bản ghi này chứa các thuộc tính sau:

  • TestCaseName – tên của trường hợp thử nghiệm.
  • TestCaseDescription – mô tả trường hợp kiểm tra.
  • TestCaseId – ID của trường hợp thử nghiệm.
  • TestSuiteName – tên bộ thử nghiệm sở hữu trường hợp.
  • TestSuiteDescription – mô tả bộ kiểm tra.
  • TestSuiteId – ID bộ thử nghiệm sở hữu trường hợp.

Trong ví dụ dưới đây, bạn sẽ tùy chỉnh thuộc tính OnTestCaseStart để mọi trường hợp kiểm tra bắt đầu từ màn hình đầu tiên trong ứng dụng của bạn. Bạn cũng sẽ tìm nạp dữ liệu kiểm tra từ nguồn dữ liệu có thể được tham chiếu trong các bước cho trường hợp kiểm tra.

  1. Chọn Thử nghiệm ở ngăn bên trái hoặc Xem trên tiêu đề bộ.

    Thử nghiệm hoặc xem thuộc tính đã đặt.

  2. Chọn hành động OnTestCaseStart.

  3. Nhập một biểu thức để Điều hướng đến màn hình đầu tiên và tìm nạp dữ liệu kiểm tra cho kiểm tra của bạn.

    //Start every cases on the first screen in the Kudos app
    Navigate('Dashboard Screen');
    
    //Initialize my test data for the current case. 
    Set(currentTestData, LookUp(KudosTestData, TestCase = TestCaseInfo.TestCaseName));
    
    //Set kudosBeforeTest to 0
    Set(kudosBeforeTest, 0)
    

    Ví dụ về OnTestCaseStart.

Xử lý kết quả thử nghiệm

Bảng kiểm tra hiển thị khi phát lại các kiểm tra trong Test Studio không hiển thị khi sử dụng trình duyệt. Do hành vi này, bạn không thể xác định bước kiểm tra cụ thể thực hiện hoặc nếu thử nghiệm vượt qua hoặc thất bại.

Để xác định kết quả thử nghiệm bên ngoài Test Studio, có 2 thuộc tính được gọi lại OnTestCaseCompleteOnTestSuiteComplete có sẵn trong đối tượng thử nghiệm mà bạn có thể dùng để xử lý các kết quả của thử nghiệm. Khi tích hợp thử nghiệm vào một bản dựng liên tục và quy trình bán hàng phát hành như Azure DevOps, những thuộc tính này có thể được dùng để xác định xem liệu bạn có nên tiếp tục triển khai ứng dụng hay không.

Biểu thức đã nhập cho các thuộc tính này sẽ kích hoạt khi từng trường hợp hoặc bộ hoàn tất. Bạn có thể tùy chỉnh những thuộc tính này để xử lý và gửi kết quả của thử nghiệm tới các nguồn dữ liệu hoặc dịch vụ khác nhau, chẳng hạn như:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Email sử dụng Office 365.

Những cài đặt này áp dụng cho mọi trường hợp thử nghiệm và bộ thử nghiệm trong ứng dụng của bạn. Sau khi mỗi trường hợp thử nghiệm hoặc bộ thử nghiệm hoàn tất, kết quả thử nghiệm và mọi thông báo truy vết có trong thử nghiệm sẽ có sẵn trong bản ghi TestCaseResultTestSuiteResult.

Bản ghi TestCaseResult có chứa các thuộc tính sau:

  • TestCaseName – tên của trường hợp thử nghiệm.
  • TestCaseDescription – mô tả trường hợp kiểm tra.
  • TestCaseId – ID của trường hợp thử nghiệm.
  • TestSuiteName – tên bộ thử nghiệm sở hữu trường hợp.
  • TestSuiteDescription – mô tả bộ kiểm tra.
  • TestSuiteId – ID bộ thử nghiệm sở hữu trường hợp.
  • StartTime – thời gian thực hiện bắt đầu của thử nghiệm.
  • EndTime – thời gian thực hiện kết thúc của thử nghiệm.
  • Traces – kết quả của mọi xác nhận thử nghiệm và mọi thông báo từ hàm Trace.
  • Success – cho biết liệu trường hợp thử nghiệm đã hoàn tất thành công chưa.
  • TestFailureMessage – nếu trường hợp thất bại, thông báo thử nghiệm sẽ xuất hiện.

Bản ghi TestSuiteResult có chứa các thuộc tính sau:

  • TestSuiteName – tên bộ thử nghiệm.
  • TestSuiteDescription – mô tả bộ kiểm tra.
  • TestSuiteId – ID bộ thử nghiệm.
  • StartTime – thời gian thực hiện bắt đầu của bộ thử nghiệm.
  • EndTime – thời gian thực hiện kết thúc của bộ thử nghiệm.
  • TestsPassed – số trường hợp thử nghiệm đã hoàn tất thành công trong bộ.
  • TestsFailed - số trường hợp thử nghiệm không thành công trong bộ.

Trong phần bắt đầu nhanh này, bạn sẽ tạo hai bảng tùy chỉnh trong cơ sở dữ liệu Dataverse để lưu trữ kết quả thử nghiệm bằng cách tùy chỉnh các thuộc tính OnTestCaseCompleteOnTestSuiteComplete:

  1. Chọn Thử nghiệm ở ngăn bên trái hoặc Xem trên tiêu đề bộ.

    Thử nghiệm hoặc xem thuộc tính đã đặt.

  2. Chọn hành động OnTestCaseComplete.

  3. Nhập biểu thức để xử lý các kết quả của thử nghiệm. Mẫu sau đây lưu kết quả của từng trường hợp thử nghiệm vào bảng AppTestResults tùy chỉnh trong Dataverse. Hoặc có thể lưu trữ kết quả thử nghiệm vào SQL, SharePoint hay bất kỳ nguồn dữ liệu nào khác. Có thể bạn cần phải đặt hoặc tăng trường Truy vết trong nguồn dữ liệu của mình theo yêu cầu.

    Lưu ý

    Các mẫu sau đây kết nối với Microsoft Dataverse. Bạn có thể tạo một ứng dụng đơn giản hoặc tạo một ứng dụng từ đầu bằng Dataverse. Ngoài ra, hãy tham khảo tham chiếu hàm Patch để biết thêm chi tiết nhằm sửa đổi bản ghi của một nguồn dữ liệu được dùng trong các mẫu sau.

    //Save to Dataverse
    Patch(AppTestResults
    , Defaults(AppTestResults)
    , {
             TestPass: TestCaseResult.TestCaseName & ":" & Text(Now())
             ,TestSuiteId: TestCaseResult.TestSuiteId
             ,TestSuiteName: TestCaseResult.TestSuiteName
             ,TestCaseId: TestCaseResult.TestCaseId
             ,TestCaseName: TestCaseResult.TestCaseName
             ,StartTime: TestCaseResult.StartTime
             ,EndTime: TestCaseResult.EndTime
             ,TestSuccess: TestCaseResult.Success
             ,TestTraces: JSON(TestCaseResult.Traces)
             ,TestFailureMessage: TestCaseResult.TestFailureMessage
    }
    );
    

    Ví dụ về OnTestCaseComplete.

  4. Chọn hành động OnTestSuiteComplete.

  5. Nhập biểu thức để xử lý các kết quả của thử nghiệm. Trong mẫu sau đây, bạn sẽ lưu kết quả của từng bộ thử nghiệm vào bảng AppTestSuiteResults tùy chỉnh trong Dataverse.

    //Save to Dataverse
    Patch(AppTestSuiteResults
        , Defaults(AppTestSuiteResults)
        , {
             TestSuiteId: TestSuiteResult.TestSuiteId
             ,TestSuiteName: TestSuiteResult.TestSuiteName
             ,StartTime: TestSuiteResult.StartTime
             ,EndTime: TestSuiteResult.EndTime
             ,TestPassCount: TestSuiteResult.TestsPassed
             ,TestFailCount: TestSuiteResult.TestsFailed
        }
    );
    

    Ví dụ về OnTestSuiteComplete.

Các ví dụ khác của biểu thức mà bạn có thể dùng trong các thuộc tính sau là:

  • Gửi kết quả tới một luồng trong Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Gửi kết quả của bạn qua email.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Nhận thông báo ứng dụng của kết quả thử nghiệm.

    Chẳng hạn, nhận thông báo sau khi thử nghiệm hoàn tất khi phát thử nghiệm trong một trình duyệt, bên ngoài Test Studio.

    Notify(TestCaseResult.TestCaseName & " : "
            & If( TestCaseResult.Success
                , " Passed"
                , TestCaseResult.TestFailureMessage)
            ,If(  TestCaseResult.Success
                , NotificationType.Success
                , NotificationType.Error)
    )
    

Các hàm thử nghiệm

Ngoài chức năng có sẵn trong Power Apps, dưới đây là các chức năng thông thường mà bạn sẽ sử dụng khi tạo kiểm tra:

Các bước tiếp theo

Lưu ý

Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)

Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).