In two previous posts I gave overviews of how FlexDeploy’s EBS plugin can automate EBS deployments, and how FlexDeploy supports your development team in deploying changes to EBS Release 12.2 and above. (Quick review: FlexDeploy is DevOps and Continuous Delivery for Oracle Fusion Middleware, Cloud, and Applications. FlexDeploy streamlines the processes for building, deploying, and testing applications and related artifacts across on-premise and cloud environments). FlexDeploy automates the deployment of changes to EBS, a process that, due to the nature and complexity of the change process, can be tedious, error prone, and costly. In this post I will discuss how FlexDeploy’s built-in test automation framework ensures the quality of those Oracle EBS code migrations.
I don’t have to tell you that the rapid pace of changing business needs and requirements demands high quality code migrations. Ensuring the quality of code moves is a primary objective of any organization that customizes or creates applications. It is very important for business-critical applications like Oracle EBS to have quality and stable application changes. (Who among us hasn’t felt the pain of a failed EBS deployment?) FlexDeploy enables test automation during software deployments to help ensure quality metrics meet appropriate standards. With FlexDeploy, you can test the quality of your code changes easily, without sacrificing any of the thoroughness. We provide the ability to integrate all of the automated tests you want to run with your build and deploy processes.
FlexDeploy has built-in plugins for Oracle Application Testing Suite (OATS) and HP Unified Functional Testing (UFT) tools for EBS that make these test steps easy. Additionally, other test tools can be integrated with FlexDeploy using CLI or Java code.
Invoke a Test Automatically After Every Deployment
FlexDeploy provides the ability to invoke your functional or load tests automatically after each deployment, and in fact, we would recommend this as a best practice. The test automation framework is highly customizable. You can configure your test strategy to invoke different tests in each environment (e.g. functional test in the Test environment, and Load test in the Performance environment). Additionally, you can specify what “failure” and “success” mean. For example, you may specify that more than 95% of the tests must pass to be considered a success. If a Test fails, you can reference the Change Logs to identify what change(s) caused the failure. You can also have the test results emailed to developers upon successful or failed deployment. Fixing the issue is simplified when you know which code broke your application, and getting results sent directly to key people’s inboxes means you don’t have to constantly hit a refresh button waiting for a status update.
The following screen highlights the deployment workflow executing OATS tests after a deployment to the Development environment.
View Test Results in FlexDeploy
You can view the Test Results in FlexDeploy by clicking on the Test Results tab. The results provide information relevant to the tests that were executed, such as test name, execution duration, and performance metrics when applicable. The following screen shows the Test results with all the details. You can click on individual Test Definitions to view results of each test case.
Tests Fail: Now What?
FlexDeploy provides complete visibility when there is a failure. Identifying what changes caused the tests to fail is easy with FlexDeploy. The following screen shows Test Results that have a failure for Create Attribute. Reviewing the Change Log gives you more information about what code changed, who changed it and why. Once you know what is causing the failure, working on a fix becomes easy. This information can be in the developer’s email immediately after a Test failure. This helps the developer proactively fix and rerun the deployment before other system users report the issue. This can eliminate lengthy outage times, and provides a better user experience for your downstream testers.
FlexDeploy also provides test quality metrics to help identify how the quality of testing changes over time. The following screen shows the quality of code with response time and test durations. You have options to search for test results based on Projects, Test Sets and Test Definitions. It is easy to identify which code change caused slower performance, etc. Looking at the bigger picture, you can utilize the test statistics to step back and review your testing processes. Use this information to find and fix problem areas and other trends that can ultimately help you deliver software faster and with higher quality.
In a Nutshell
Applying DevOps techniques for EBS code moves with test automation helps implement complex deployments with ease. FlexDeploy boosts quality in continuous deployment significantly by providing end-to-end automation across your build, deploy, and release lifecycle. In addition, FlexDeploy helps identify problems quickly and plays a key role in restoring the system in critical situations with the help of test automation, notifications, and change logs. Ultimately, FlexDeploy makes it easy to integrate your automated tests with your deployment and release lifecycle.
Let FlexDeploy make your (work) life easier!