30 Days of Automation in Testing Day 6 : Share what skills a team needs to succeed with automation in testing


(Ramakrishna) #1

Day 6 - #30daytestingchallenge
Challenge - Share what skills a team needs to succeed with automation in testing.

Technical Skills

Beginner:

Basic understanding on HTML/CSS i.e. ability to read and understand HTML source code and understand page structure and elements present on the page
Ability to write Locator expressions and testing them using the browser console i.e. Writing xpaths , CSS locators etc and testing them for validity
Core programming skill in one Object oriented language like Java , C# , Python etc.

Intermediate:

Core programming skill in one scripting language like JavaScript , Groovy etc.
Using out of the box testing frameworks like Junit , TestNG , Selenium Grid , Cucumber
Using build management tools like Maven , Gradle to drive batch execution of Automated test cases and managing the dependencies
Knowledge of on CI/CD tool like Jenkins to orchestrate continuous testing i.e. running automation on a schedule.
GIT Concepts

Advanced:

API / Mobile Automation
Whitebox testing with tools like Fitnesse
AI in Automation
Security
Performance


(Celine) #2

#30daytestingchallenge

Day 6- Share what skills a team needs to succeed with automation in testing.

Fundamentally, it would be knowing when to use manual testing and when to use test automation by possessing an understanding of how the system is supposed to behave according to the project and business requirments. Most of the time, the best way to gain that knowledge is through manual testing. Therefore, a team of experienced manual testers is likely to succeed in performing test automation because of exposure and familiarity with the system under test.

Since a team consists of group of individuals, each member who would like to succeed in test automation,according to this article, should pay attention to the following below. I have copied and summarized the contents of the article here to save time, should anyone wish to view the link at a later time ( I am not plagiarizing, just sharing the source).

  1. Don’t Ignore Manual Testing- in the industry, it is highly important to focus on manual testing concepts initially.

  2. Possess Technical Programming skills- knowledge of of C++/ Java/SQL/Python/XML/JavaScript,etc.

  3. Understand the Application well-Automated testing engineers need to comprehend the software application under testing inside and out.

  4. Experience the Automation Testing Tools-Experimenting with those tools will help you in gaining much knowledge about their architecture, environment, feasibility for your applications under tests, and much more.

  5. Determine ATLC Methodology- ATLC stands for Automation Testing Life Cycle.To understand and follow the ATLM, one needs to have experience of the following:

  • Decision making in automated testing.

  • Test automation tools.

  • Automation testing process.

  • Test planning, design, and development.

  • Test script execution and management.

  • Review and assessment of test programs.

  1. Create Automation Test Strategy-Automation strategy creation is considered to be a very crucial part as you would need to define and develop the path that will help you to reduce the manual testing hours and offer justice on the ROI of the clients.

  2. Stay Updated with the Testing Trends- The most trending best practices, tools, techniques, tips, and tricks will help you and your team to achieve the success in optimizing your test automation strategies and methodology.

Source: https://dzone.com/articles/7-quick-steps-to-become-a-great-automation-testing


(Jason) #3

Agreed. To add: a long list of skills is just that. Being able to design the solution, processes, frameworks and, ultimately, understanding how it all fits together, are all rather important (and should also help determine the actual skills required for the endeavour).


(David) #4

I’m thinking of an overlap (like a Venn diagram, which I didn’t have time to make) of these areas. Actually I ended up with a kind of ranking as well. So, maybe it’s more of a pyramid. Anyway…

Testing Skill:
Most important!

Automation comes after testing, which means all the critical thinking skills of a tester should be in place first, as well as knowledge of testing methodologies, how to function in a team, etc.

Technical Knowledge:
Testing tools, automation software, programming skills, API knowledge, HTML, CSS, maybe JavaScript (by no means necessary, but on the wish list).

If you put testing before automation, I think a really good tester can work with available tools, or make their own.

Domain Knowledge:
I almost think this could be more important than technical knowledge. You’re testing is for a company that does something. What does it do? What kind of people are using the software you’re testing? Perhaps there is a whole other set of technical or non-technical skills specific to your industry you need to know on some level, like payments, or ecommerce, or finance, etc.

Would love for someone to comment on the three areas I’ve mentioned.

  • Dave K

(Kumar) #5

From my perspective, I think below skills are essential for a team to succeed at automation in testing:

  1. From my experience teams and testers blindly decide to automate tests just because it’s cool. However, I find most teams and testers miss the point as to why and when we should implement test automation. Otherwise, the whole purpose of automation in testing is defeated!
  2. Team/ testers should have a basic understanding about the technology stack used in the application under test. Also, it is good for the tests to have sound understanding about the basic OOPS concepts. This will enable them to understand and code the tests effectively.
  3. With teams moving towards CI/CD, it is important for the team to identify where the automation test suite fits and how that can be achieved.
  4. Teams should have good interaction between the testers and developers so that the automation test suites can be built more effectively.
  5. Implementing context dependent test automation approach is essential rather than just going about automating test generically.

Read more here: https://qakumar.wordpress.com/2018/07/08/day-6-share-what-skills-a-team-needs-to-succeed-with-automation-in-testing/


(Trung) #6

Day 6 - #30daytestingchallenge
Challenge - Share what skills a team needs to succeed with automation in testing.

  • Basic/advance coding skill
  • Troubleshooting skill
  • Testing skills: Techniques, methodologies, STLC, SDLC, ATLC, time management…
  • Team work

(Darya ) #7

Agreed with all. I would like to add:
the ability to work in pairs, it helps a lot to make better solutions,
we should remembered that autotest is an independent software product, so the team must understand its importance and not neglect it: knowledge of the best development practices and use them, code review, planning, work with bugs…


(Heather) #8

Day 6 on Twitter:


(Karishma) #9

#Day 6 :Skills team need to succeed with Automation Testing
1.Automation Testing Life Cycle
Decision making in automated testing-What need to be Automated.
Test automation tools-Choosing Right Tools for Automation
Automation testing process.-Setting Right Framework with Technology Stack
Test planning, design, and development.
Test script execution and management.
Review and assessment of test programs.
2. Excellent Technical Programming Skill- Professional with Java/Python/Perl etc.
3. Configuration management-Project management skills also prepare testers to be accountable and answerable for their work to concerned stakeholders and also undertake responsibility and management the end-to-end testing project. This way, project management skills contribute to delivering quality results, improving the entire test process.
4.Agile, DevOps, and continuous delivery-With the pressing demand to meet delivery deadlines, testers need to learn Agile & DevOps methodology due to the fact it promotes collaborative and iterative working models. While Agile methodology imparts speed to the test project, DevOps helps with cross-functional teamwork right from the development, analysis, and QA which yields high-quality end product at a faster time-to-market. Moreover, learning these methodologies removes the role rigidity and silos, allowing teams to pay close attention to phase-wise development and continuous releases.
5.Reporting -This practice of reporting leads to better coordination of the overall test project and also gives transparency to the top management in terms of test cases executed, bug encountered, release timelines, etc. which eventually helps in taking the right decisions.
6.Stay Updated with the Testing Trends- Keeping up with the latest software testing and test automation trends is the most important part of this industry.


(PRACHI) #10

Agreed with first point- we automated many modules and then when it came to prioritising the functions to run overnight, we went back to why did we automate in the first place?


(Margot) #11

Any automation engineer needs coding skills as a base. But to excel I believe they need testing skills: Know what to automate (vs some that automate what is given to them), get to know the application and it’s integration to the extent a manual functional tester does.
Soft skills: Time management, communication.
Technical skills: Know many automation tools and technologies to the point you can suggest what’s best to be used, for example in case of a new project starting automation. Also, being able to start a full solid automation project from scratch (I know… I’m cheating, this is not just one skill but many required to be able to do that).


(Quang Le) #12

In my experience, a successful automation team will have:

  1. Scripting skills: it will be required for all automation teams, I will separate 2 kinds of QA: scripting QAs and framework QAs.
  2. Coding skills: it will be required for the framework QAs, to make the framework more powerful and easier for the scripting QAs to use. It will have some advance tasks for the framework QAs like: clean code, structure the framework for best performance. The framework QA will work like a developer and the architecture.
  3. Knowledge about your project:
  • If your project will be defined for Web, you should prepare knowledge about Web UI, Web Database, HTML, CSS…
  • API project: should have knowledge about JSON, web service, database…
  • Mobile project: should have knowledge about fragment, mobile UI, mobile web UI…
  • Performance project: have knowledge about load test, performance like: concurrent users, ram up ram down time…
  1. Management skills should be required for project manager to make teammate happy together to work
  2. Automation testing project.
  3. Currently, Scurm, Agile, DevOps, CICD are required for any project.
  4. Daily or Weekly Report the regression test. It will measure the stable of our test scripts.
  5. Sharing knowledge in team
  6. AWS, Micro-services are optional.