4

This might seems to be common question but my concern here is a bit different. I am new to Automation and my development skills are not that Good. We are trying to Automate our Project using Selenium UI.

My concern is that being a QA guy, apart from writing the code for Automation what roles I can perform to make sure things go smoothly to the end.

I want to contribute something better from QA perspective rather than trying to resolve exceptions and experimenting with the code all the time. Any help would be appreciated.

  • "what roles I can perform to make sure things gos moothly": do you mean what should you do in Selenium so the tests work properly? or do you mean something else? – Purefan Dec 30 '13 at 10:36
  • I mean apart from development, where else i can contribute. Whats are other things expected while working on Automation Project Except Development – ChhabraSaab Dec 30 '13 at 10:55
  • 1
    I've updated the title to reflect content better and hopefully aid in getting better answers. @khappi please review and see if that's ok with you. – Michael Durrant Jun 30 '17 at 15:24
3

I understand you have problems with test automation because you are not much skilled (yet) in programming. And it hurts.

I believe the more something hurts, the more resistance something offers, the more you need to practice that until the moment things become a routine for you and you become more effective. There are no workarounds and shortcuts to master programming, but there are ways to make it less stressful. Pair with a more senior developer, learn from real Selenium examples, read answers and ask questions on the Internet or participate in a real or virtual training (I really value learning programming the hard way and their courses).

Obviously, test automation is not just programming. If you do not have enough skills (yet) to automate focus on other things you can contribute:

  • Design test cases: what scenarios and aspects you want to validate? at what levels? Automation itself can be delegate to a more experienced programmer
  • Decide what not to automate and leave for manual testing. For instance, visual consistency is a good candidate for that.
  • Test performance and API with tools that require less programming skills. For instance, SOAP UI can help you verify JSON Web services, JMeter will help you test performance. You will not necessarily program, but you will get more familiar with different technologies (HTTP, JSON, etc.) and internal architecture of your application.
  • Troubleshoot failing test cases. Even if you are not automating tests, you may help others to find, why the test are failing. Learning when, where and why the system fails will help you in writing better test cases.

Basically, do all other tasks that are part of testing process as: execution of tests, generating test execution reports, integration with test management tool, logging, root cause isolation. You do not have to automate them, but you may find tasks are more repetitive and tedious and ask your colleagues to automate them (see Alan Page's chapter on that and then James Bach's article).

  • Thanks Dzieciou. But If a QA person is part of Automation project, what else is expected from him. Obviously I am working on the programming part but the essence of QA is missing somewhere or i am not able to see that. – ChhabraSaab Dec 30 '13 at 11:09
  • See the second part of my answer. – dzieciou Dec 30 '13 at 11:25
  • Glad to be helpful. I updated my answer with more practical examples. – dzieciou Dec 30 '13 at 11:39
  • Yes Dzieciou. Appreciate that. – ChhabraSaab Dec 30 '13 at 12:27
4

Not everyone on the team needs the same skills, and if you already have enough development capacity you might be more valuable for the overall results if you take up other tasks. When working together with testers in an automation project, developers can focus on the development part if there is someone else who:

  • Really understands the application and the test scripts
  • Can prioritize which parts need to be automated first
  • Can give examples of test cases with various characteristics (such as a small and simple one; cases that do/don't need elaborate test data; certain features)
  • Understands the business case of the automation project (what are we trying to achieve, how are we going to measure that)
  • Helps in finding a convenient and user friendly way to specify test data and test scripts
  • Knows what he needs in terms of logging / reports / metrics; and provides feedback on what we can do better
  • Tests the test framework and helps resolve issues smoothly and quickly
  • Writes a manual; or takes notes on tips/trics/frequently asked questions
  • Teaches other people how to work with automated testing
  • Obtains support for the project from management
  • Manages the process and the team
  • Takes care of environment issues (authorizations, installed software, etc.)

Test automation is not just coding (even though it is an important skill to learn if you work in an automation project) and it is a team effort. Personally, I think having at least one person on the team who doesn't do coding can actually bring a different perspective to the team and can give better results than just a bunch of developers together.

3

Depending on your project you may also assert visual consistency, for example in a website that shows breadcrumbs the level of nesting should be consistent with the displayed breadcrumbs. Maybe a 'minimum width' for buttons/text inputs/etc. You may also probe performance and measure how fast is the site loading.

Whether these are expected of you or not is beyond me, but these are certainly things that you can check for.

A link that may help you: http://www.softwareishard.com/blog/firebug/automate-page-load-performance-testing-with-firebug-and-selenium/

0

What else can an automator do to add value ?

Other role and activities you can do to add value beside just writing automation code:

  • Learn more about the business domain
  • Perform refactoring of tests to DRY them up
  • Be active on Code Review for application code
  • Learn about and present on accessibility and usability
  • Pair on test plans with developers before they write code
  • Smoke test production releases on the various supported devices
  • Exploratory testing to both find bugs not covered or findable in automation
  • Curate the (usually present) backlog, seeing what older tickets could be closed
  • Analysis of front end vs. back end testing for what resources should be used on each
  • Analysis of web traffic to see which devices, browsers & versions should be supported
  • Prepare and present on the many topics under QA in presentations and lunch and learns

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.