Today we want to show you how you can have Helix ALM working together with the test automation solution like Perfecto for your end-to-end test management. This includes both your manual test cases, as well as those automation executions on mobile devices or browsers for any type of test automation. First let's have a look at how the two solutions can work together. So, Helix ALM allows me to store my requirements or user stories or tasks or issues in a single platform. It also allows me to then create and link my test cases to these requirements or user stories. And this is often used for traceability, to show requirements I have, do I have coverage for every single requirement and then when I execute or run these test cases, do I have the pass and fail status for each and if something goes wrong, was a bug created or ticket created and what is the resolution status of such a ticket?
And then certain cases we can also link that down to the source code. So, Helix ALM allows me to get that end-to-end view in the form of a trace matrix and some other reports as well. Now when it comes to manual test cases, this is great and very easy to do within Helix ALM. When it comes to automated test cases, you want to often link that to test automation executions that's running, for example, Selenium scripts or Appium scripts or any other test automation solution. Now in this example, we're going to show you how you can link automated test scripts running against a browser or mobile devices, uh, real or simulated devices inside of the Perfecto cloud. And of course, what we're going to show you is how, when you execute those tests in an automated fashion as maybe part of your CICD build, how the results can flow back to Helix ALM.
So, you can still have, that single view of both your manual as well as automated test results in a single place. But we can of course, have it all linked up together. Now Perfecto is a cloud-based platform to run these tests on. It supports various browsers. So, for example, if I'm using a Windows 10 machine with Chrome, Firefox, or Internet Explorer, I can spin one up. If I need a Mac machine with Safari or Chrome or Edge, I can spin that up as well. If I need a real mobile device like an Android or iOS device, I can of course get these devices as well. If I need a simulator so, iOS simulator for example, I can get those in a single cloud infrastructure. So, it allows you to pick the platforms you need and then run tests against them in an automated fashion as well as on a manual interactive fashion.
If you want to do your manual testing, but need a real device or browser, you can still use Perfecto and bring the results back to Helix ALM. Perfecto of course, allows you to do this in various forms and we're going to look at a very basic Appium example, or Selenium example, using quantum open source BDD framework. But of course, if you use things like XUI test, Espresso or other frameworks, you can of course do so. You can of course build this as part of your CICD pipeline. So, a developer commits their code and they'll run the automated test. Those results can automatically also flow back to Helix ALM part of a pipeline. So, think of things like Jenkins or Bitrise or other CICD platforms that you can use. So how does this practically work? So Helix ALM allows you to store the test cases as I've mentioned.
In this example, what we'll do is we'll store them in a BDD type language. So for example, given when then, so as you can see on the left hand side in Helix ALM, I have my steps and I've got four of those. And on the right-hand side you can see the actual code. And this is a Java code example of BDD. So, think of Cucumber or Quantum as a framework where I can write my BDD script. And again, it matches one in Helix ALM. And really what you need to look at there is line number five where I'm mentioning the same test case ID. So when this test runs, if as part of CICD or manually by developer or tester, it'll know which test case to reference or it can send the results back to the test case. So, when I run the test in whatever platform it is, I want to run it in part of my bowl.
It will go ahead execute it below. You can see an example, execution in Perfecto and it'll send those results back to Helix ALM in the form of a test run. It also sends back the status, did it pass, did it fail? As well as the past status or failed status for every single step within that test. So, it makes it incredibly easy and efficient to communicate between the two platforms. So, let's have a look at how this physically works in a real example.
So over here I've got my IntelliJ project with a Cucumber example, here to a web search functions that I've got running. And you can see these are two scenarios. The one says first is search quantum and then search quantum two. Now if I go to Helix ALM, you will instantly see that I can go to my test cases and I will see the two test cases inside of Helix ALM.
So here you can see, for example, the test case search quantum with the same steps within this tastes case as well. Now to execute this test case, I simply have to go back into my IntelliJ project, and I can execute this. And what we'll see as the test run results will feed back into my Helix ALM project quite easily. So, what I'm going to do is I'm going to go ahead and run this over here and execute it. So, for example, this could be part of a CICD build, for example. And if I want to view the live execution, I can simply click on a link over here and go into the Perfecto solution and I will start to see the various browsers appear and the test start to execute. Now this is a very basic test to search in Google, but you can imagine you can have more advanced tests on more advanced devices or even if you want to test API or any other type of part of your application.
But here I can very quickly see the executions as they're running through these browsers and they are all done. I can see that in IntelliJ is now completing these tests. It's saying, yes, they've passed or failed and is simply closing out my script and what's going to happen is inside of Helix ALM, it'll send back those execution. So, if I go ahead and refresh these, you will see that I've got my brand-new execution results over here that has now flown into Helix ALM. So, if we go to our test run executions, I can see all today's executions and they are the latest executions with a pass or fail status for each of these executions. So, if I go into my execution, I will see each step over here, but it's been passed or failed. I will also see workflow, then that was passed or failed plus a link back to the actual execution report inside of Perfecto and this is very handy.
So, if there was a failure for example, and I wanted to very quickly view that execution report, I can go to the Perfecto platform directly from Helix ALM. I can actually go ahead and watch the video, of this execution and you can see my BDD test case steps on the left-hand side. As far as my tests flow, you can see the actual video playback and let's go ahead and play that back as its opening up and I can see the taste executing. Now of course you can get some information about the actual device or browser you were running on. You can of course link this back to your source code commits as well. You can get additional details like the performance files if it's a browser or if it's a real device, you know what went on during the taste execution.
So again, this links nicely back to Helix ALM for you. Of course, within Perfecto you can get your CICD, dashboard hook up to this. So, as these tests are running, they will simply flow into a Perfecto system. You can of course also see a heat map of all the executions as we are running them on a daily basis. So, I can see which platforms or browsers are having a problem. And of course, this ties nicely back to Helix ALM. So, on my dashboard over here, I can still see my test executions by can flow in. But what this now allows me to do is to get that end to end traceability of both my requirements, the test cases and then if a test did fail, let's go ahead and create a bug for it and here you can see a bug, of that execution that failed. So again, I can see all the details copied over from a test case, including my BDD steps. Plus, I can quickly there and instantly see the traceability between these items. And I can very quickly do an impact analysis of these items.
So, to recap, here you can see that I, from Helix ALM had my test cases, I had some manual and some automated tests. I executed them and the results went back into Helix ALM. Allowing me to get that end-to-end traceability view between the two tools. If you want more information about how to get started with something like Helix ALM or Perfecto you can go to perforce.com and select Helix ALM to look at how you can actually look at your test cases organized, track and work with them. Again, for Perfecto, if you’re interested in that cloud-based testing infrastructure, you can look at Perfecto.io to get some more information and sign up for free trial of the application.