New to QA Automation - And in need of some help :)
My experience in QA sums up to be about manual testing only. Manual testing of desktop applications, websites and hardware integration.
This whole time I've been working as QA, I wrote test cases and helped with planning of test cases but mostly executing test cases.
Recently I became a QA manager - a role which holds more in its title than in reality. I'm not a manger by no means but I am the only QA person in my company - that is, the only gatekeeper with the added responsibility to research on my own about implementing improvements to the QA process (which didn't really exist) and automation as well.
Since I never been in a similar position, it's hard for me to make good calls on what should be the best process to use in our agile methodology. Which tools to implement and the flow of things from requirements to production.
Yes, I'm a newbie when it comes to decision making and managing since i lack the broad vision and experience to make these calls.
This entire preface was to make it clear that I have no access and knowledge in automation, scripting or coding... as mentioned, I'm not a QA manager material.
In saying that, I am trying to pick up the glove and see how can I implement automation to make our (mine) life easier (impress the boss ).
Our product is an online POS & Backoffice that runs on Chrome, Safari, iOS and Android.
Our work environment is purely on Apple computers.
My question to this dear community, is what should I ask first?
Or more so, what sort of information should I provide in my follow up post to direct me to the tools, knowledge base, consultants - anything that can help me kick start some sort of automation.
Thank you everyone in advance and looking forward to learn from you
From your requirement, Selenium would be best tool for you but still you can get the information on how to choose best fit tool for your from this link-https://www.qasource.com/a-guide-to-selecting-the-best-test-automation-tool.php
Further for iOS and Android, you can use the Appium tool alongwith Selenium, which will eventually solve your purpose.
Documentation for Selenium is available at- Introduction — Selenium Documentation
Documentation for Appium is available at- Appium: Mobile App Automation Made Awesome.
“Quality That Creates Value”
QASource delivers your own experienced QA team, a comprehensive QA infrastructure focused on efficiency and excellence, and a new, multi-million-dollar lab.
Before you even think about automation, the first thing you need to do is to get some manual testing going and put some QA processes in place. Once that is done and working well, you can think about how and which tests you can automate. At that point, you should evaluate various automation tools and decide the one that works best for your scenario.
I'll tell you from experience that it's very hard to get an automation effort started from scratch without support from the top. Releases will always fill up your available time. About 8 years ago, I took a step back from SDET to take a QA Division lead position to try my hand at being a test manager. Even being an expert at automation, I had a hard time getting buy-in from devs and management to allocate some time and resources to get the effort started.
First, I had to install a process in place, centralize test management, to give management confidence my team was able to keep up with the test coverage. Then I spend many nights and weekends, setting up the framework proof of concept and processes in place in order to get automation started. But I still hit many problems with having to manage chaotic releases that they threw even more at me and my team. In the end, I wasn't able to free up enough time to get my team trained, and get more tests into the suite, and the budget to build out the testing infrastructure. In the end, I ended up just taking an automation position at a another company that had more of a commitment from management, which made building out the automation much easier for me.
Based on what you said, I agree Selenium/Appium that a previous poster mentioned might be a good fit. But I think it will take a lot of hard work and study to learn and develop correct architectural patterns. If you can get a good consultant to help you get the framework setup, that'll get you started right. It's not going to be easy, creating the tests is the easy part, you still have a lot to do with the workflows, controls, and process relating to automation. Otherwise you'll have the headaches of a 2ndary flaky codebase to maintain.
But what you'll find hard is the people and releases getting in your way.
I would recommend you to have lunch with your boss every day for the next week to hash out and out line a plan. Here are some things you might want to discuss with your boss.
* Create a vision of how much easier having automation would be. Really sell it! Let the boss know, imagine having devs able to run tests on their dev instances? Imagine fewer last minute surprises? Imagine if devs can check in more often because their code is automated tested as part of CI, saving so many integration headaches?
* Create an learning and action plan with the boss. For example, you may create a plan where you spend 1 day a week focused on automation, with a few trips to some workshops. If you can't come up with a clear picture in this, what prevents your boss from hiring an SDET instead of allowing you to build those skills? Make it easy for your boss, let him know what the automation vision is, what your current skill gaps are, what lessons and workshops you'll need to do to bridge those gaps, and what actions you can do to build the pieces as you go along.
* You'll also want to discuss hiring as well. If the company's growing, they'll obviously have more and more work to throw at you. You'll want to discuss how you can essentially find someone who can offload some of your responsibilities and a process to do so, so you can focus your time on improving the workflow, the test infrastructure, and various controls that a test manager should be doing.
In general given "agile" approach I would go for the following:
- 1st sprint: while developers develop new functionality you evaluate tools list which I'll provide below and choose the right options
- 2nd sprint: You manually test functionaity developed in the 1st sprint
- 3rd sprint: you automate functionality developed in the previous sprint(s)
- Repeat points 2 and 3 till release
In regards to tools:
Browser testing automation
Selenium or Watir
Appium or Calabash
See Open Source Load Testing Tools: Which One Should You Use? guide.
I second everyone's opinion. But ,
Without implementing a process for manual testing, please don't go for automation. First start to implement simple AGILE process for QA activities, Tracking, Bug reporting, Status/Progress reporting, management reports, test strategy and plans - everything under an umbrella with clear sub trees. Any new resource should see the process and should start following without additional spoon-feeds....
Once you implemented this process, there itself the management will get the confidence on QA and they will get the feeling of industry standards.
Then you can easily start to implement automation by learning or by taking an automation engr.
Thank/Like to help others if my input helped you !!!
I am speaking for myself, not for my employer nor any one.