The Quest to Ensuring Quality in Web Applications with BlazeMeter
This story was written based on our experience working with multiple QA team leads across many industries. It does not depict a real person or testimonial.
As the QA architecture lead, I lead the team that ensures the quality of a bank's new web portal. My team started out writing and running tests manually, but as we developed more features, manual testing would obviously not remain feasible much longer.
The project grew, and my test coverage started decreasing and my velocity grew slower every sprint. On top of that, my management kept asking which testing tasks could be automated. It's clear that I spent too much time on manual tests, and too little on automation. In an ideal world, I would be using a solution that can automate API and performance tests, as well as UI tests.
To evaluate my options, I've been reading countless expert blogs and did some research. For UI testing, I looked into Selenium, but I did not like the idea of having to manage my own framework. There are so many different Selenium frameworks, it would take me quite a while to evaluate them all. So I sat down and assessed my decision criteria:
- First off, I want a well-maintained framework, not another home-grown solution which I'd end up maintaining myself, because no one else in my team could assist me with that.
- Second, I need built-in test recording and replay functionality, not just scripting. I believe it's fundamental for my team that everyone can contribute to the automation effort, even testers with less scripting experience.
With these criteria in mind, I installed the free BlazeMeter Recorder extension from the Chrome store to evaluate what it could do for us. I went to my application under test and recorded myself signing in with my tester account.
The Chrome extension recorded all HTTP/S requests and user interactions, and uploaded the recording as JMeter or Selenium scripts to the BlazeMeter.com cloud.
On the BlazeMeter portal, I opened my recordings in the Scriptless Scenario Editor, and could easily find and edit my recorded test steps.
I noticed that the Recorder had also created a Test Object Library in my BlazeMeter workspace, which contained locators for the UI objects I had interacted with. This library will come in handy, I can share these object locators with my team later.
For the number of features it offers, BlazeMeter proved itself to be a user-friendly tool where I could quickly manage, debug, and run the test scripts that I had recorded. Compared to other solutions, BlazeMeter also offers API testing and performance testing, which is another plus for me.
While reading articles about automation and going deeper into best practices and what is possible, I began asking myself why I had been so focused on manual functional testing before. Would it not have been more beneficial to invest in API testing and automation earlier, to speed up testing overall? Was it time to start looking for the infamous ice cream cone anti-pattern, and aim for the ideal testing pyramid pattern?
Intrigued by the possibility of handling API testing, performance testing, and UI testing all on one platform, my team decided to give BlazeMeter a try. In the following blogs in this series, I will deep-dive into the BlazeMeter features that helped my team to automate and maintain our ever growing test suites, and I will point out how my team and I overcame problems we were facing. Ready to explore? Let's go!