7 minute read

Welcome to the section dedicated to Software Engineers! Here, we’ll explore the roles and responsibilities of software engineers in the low-code testing landscape on the Power Platform. Let’s dive into their interests, oversight, and the importance of automated testing.

Interests and Oversight

As a Software Engineer, your primary focus is on leveraging your code-first skills to enhance and extend the capabilities of the Power Platform. You play a crucial role in integrating traditional development practices with low-code solutions, ensuring that both approaches work seamlessly together. Your responsibilities include:

  • Augmenting Productivity: Using the Power Platform to boost your productivity by creating custom solutions, automating tasks, and streamlining workflows.
  • Contributing Extensions: Developing extensions or addons that help makers achieve more with the Power Platform, providing them with additional functionality and capabilities.
  • Ensuring Quality: Implementing best practices for development, testing, and deployment to ensure that low-code solutions are robust, reliable, and meet the required standards.

Your oversight extends to ensuring that the Power Platform solutions are integrated with existing IT systems and processes, providing a cohesive approach to both low-code and code-first development.

The Need for Automated Testing

Automated testing is a vital tool for Software Engineers. It helps in:

  • Efficiency: Automated tests can be run quickly and repeatedly, saving time and reducing the manual effort required for testing.
  • Consistency: Automated tests provide consistent results, reducing the risk of human error and ensuring that tests are performed the same way every time.
  • Early Detection: Automated tests can catch issues early in the development process, allowing for quicker fixes and reducing the impact on the final product.
  • Scalability: Automated testing can easily scale to accommodate larger projects and more complex testing scenarios, making it an essential tool for Software Engineers.

By embracing automated testing, you can ensure that the Power Platform solutions are robust, reliable, and ready for deployment. This not only enhances the quality of the solutions but also contributes to the overall success of the organization.

Learning Path

Consider using Learning Module to help apply automated testing topics to low code solutions.

Context

Article Notes Feedback  
Why Automated Testing Automated testing is essential for ensuring the reliability, security, and performance of applications. It provides a safety net that catches bugs early, reduces manual testing efforts, and ensures consistent quality. This is particularly important in the context of low-code Power Platform solutions, where rapid development cycles can lead to overlooked issues. Discussion Link  
Why Not Just Manual Testing While manual testing has its place, it is often time-consuming, prone to human error, and not scalable for large or complex applications. Automated testing complements manual testing by handling repetitive tasks, providing faster feedback, and allowing testers to focus on more critical, exploratory testing activities. Discussion Link  
Growing to Enterprise Grade As solutions scale, the need for robust testing practices becomes more critical. This article explores how to transition from small-scale projects to enterprise-grade solutions, emphasizing the importance of automated testing in maintaining high standards of reliability, security, and performance. Discussion Link  
Impacts on People, Process, and Tooling Implementing automated testing requires a shift in mindset and practices. This article discusses the cultural and organizational changes needed to adopt automated testing, the impact on development and operations processes, and the tools that can facilitate this transformation. Discussion Link  
Transformative Power of AI This article explores how AI can observe interactions and inform the agent to suggest happy paths, edge cases, and exception cases. This capability helps deliver a faster path to generate comprehensive test scenarios, enhancing the overall testing process. Discussion Link  
Why Not Just Use Code First Testing Tools Code-first testing resources are relatively scarce, and the efficiency of building low-code solutions must be matched by the rapid creation of tests. This article explains why relying solely on code-first testing tools may not be sufficient and how low-code testing tools can complement them. Discussion Link  
Roadmap Alignment Set context on how the work we are investing in for the CoE Starter Kit aligns with the wider Power Platform Automated testing roadmap. Discussion Link  
Low code Testing Principles These principles provide a structured framework for creating robust tests that validate the functionality and performance of low-code applications. Discussion Link  
providers for Test Engine      
Test Engine Extensibility Discussion on Managed Extensibility Framework (MEF) providers for Test Engine    
Test Engine Providers Discussion on providers available for Test Engine to interact with different Power Platform resources    
Debugging Test Engine Tests Follow this guide on how to effectively debug your tests using a local build from source strategy    
Keeping up to date Follow this guide on how to effectively debug your tests using a local build from source strategy Staying current with the latest features and updates in the Power Apps Test Engine allows you to leverage new capabilities and ensuring optimal performance. Here’s how you can keep up to date based on the version of test engine you are using.  

Discussions

The following discussions could be of interest

Discussion Description  
Low Code Power Platform Testing for the Code First Developer This article is intended as a starter for discussion and contains content that is under development. It is based on experiences from teams like the Power CAT Engineering team as they apply low code testing principles to the low code Power Platform solutions they build and maintain. Ideally, this discussion serves as a great starting point to foster collaboration and gain input to help shape low code automation and engineering excellence in the wider low code Power Platform community. Link
Playwright vs Power Apps Test Engine When it comes to testing low-code Power Platform applications, a common question arises: why not just use Playwright to directly test a Power App rather than using the Power Apps Test Engine? This discussion aims to explore the strengths and limitations of both tools and provide insights into their best use cases. Link
Authentication in Power Apps Test Engine Authentication is a critical component of the test automation process. The sample script employs browser-based authentication, which offers a range of options to authenticate with Microsoft Entra. This method generates a persistent browser cookie, allowing for non-interactive execution of subsequent tests. The management of these browser cookies is governed by the guidelines provided in the Microsoft Entra documentation on session lifetime and conditional access policies. Link
Data Simulation This discussion aims to explore the concepts of data simulation and mocking in the context of low code solutions, particularly focusing on Power Fx commands for Dataverse calls, connectors, and workflows. Link
Does Every Solution Need Automated Testing? Automated testing, with its promise of efficiency and reliability, has become a cornerstone of modern development practices. However, the necessity and extent of its application can vary significantly depending on the context and nature of the project.  
Test Authoring In this discussion, we will explore the overview of authoring test cases using the Test Engine. We will delve into various aspects such as the CoE Kit Test Case Authoring, discoverability of visual elements, Test Studio, and the settings and configurations of the Test Engine. Additionally, we will discuss the role of Generative AI in enhancing the test authoring process. Link

Examples

The following examples could be of interest

Example Description
Extending TestEngine Power FX with C# Test Scripts The extensibility of TestEngine Power FX using C# test scripts allows developers to integrate web-based Playwright commands through code-first extensibility, enhancing browser automation capabilities. This approach enables the creation of custom test scripts that leverage Playwright’s powerful features, improving productivity and maintainability by focusing on high-level test logic while handling common code efficiently
Understanding the “No Cliffs” Extensibility Model of Power Apps Test Engine The “no cliffs” extensibility model of Power Apps Test Engine ensures that users can extend its capabilities without encountering barriers, providing a seamless experience for both makers and developers. By leveraging Power FX and C# test scripts, this model simplifies handling complex scenarios like Power Apps consent dialogs to enhancing the efficiency and reliability of the testing process
Testing Variables and Collections in Power Apps with the Test Engine The Test Engine in Power Apps offers robust capabilities for testing variables and collections, simplifying application state management. By leveraging the Set() function, developers can directly change the state of the application, making it easier to verify functionality and handle various scenarios.