Leadership and Management Questions
As a manager, lead, director, VP, architect and/or a stake-holder, what questions do I think about when embarking on implementing Automation and Continuous Delivery.
Test Automation skill sets are broadly measured across programming languages, across libraries and across frameworks and across software development models.
There is no one-size fits all solution. There are debates over language, stack, practices etc. Below are few trade-off discussions (Click the ‘+’ sign to expand)
- How do we put a structure around the jargon and how do NOT end up comparing apples and oranges?
- How do I make a case for budgeting a Test Automation solution?
- How much money do I put in and what is the justification for the ROI?
- What are the skill sets (existing) and what staffing needs?
- What is the process and what are the technologies?
- How do I measure the progress (aka. what metrics) and pivot and reset the direction if diverging?
- How do I get employees excited about the change (organizational change)?
- How to identify adopters, nay-sayers and staff?
- In-sourcing vs. Out-sourcing vs. Vendors
- Marketing messages and communication across the organization
- Showing support and buy-in for the process and technical practices
- Alignment from Business stake-holders
- Programming languages can be Java, Ruby, C#, groovy, vbscript, php and so on.
- Some of the libraries can be Selenium, Cucumber, testNG, Watij, Apachi-poi and so on.
- Frameworks can be Data-Driven, Keyword-driven, Page-object, Hybrid and so on
- Development models can be waterfall, spiral, Agile, TDD, BDD, ATDD and so on
- Cloud Solutions like Sauce Labs that can do both Selenium based Web Automation and Appium based Mobile (device and simulator) automation
- Windows or *nix based environment
- API testing (SOAP or REST) and Tools
- Service Virtualization with tools like IBM Test Virtualization, HP SV, Parasoft and whole lot of open source solutions
- Test Data Handling – Obfuscate data, ingestion scripts, reset test data etc.
- If you are a Java shop, it is a good idea to select Java Stack (Selenium-java, cucumber-jvm, testNG and so on)
- If you are following ATDD and expect developers to help testers as they go through learning curve, again choose the stack that your source code is already written in. What your developers would be most comfortable with.
- If you prefer that testers with no programming background be converted to automation engineers and that they would maintain the scripts over time, please bear in mind that Test Automation is a development project. It is going to take a significant amount of time and resources to get to self-service mode. Ruby might be a good stack to start in this case
- If you are a high-tech shop with highly-skilled engineers and you don’t really differentiate dev and testing, pick JS + Node stack or you actually don’t really need much advice from this website
- If you are .NET shop, again there is NUnit,C# Selenium and so on.
- If you plan to introduce more open source in your .NET shop, choose either Java or Ruby or JS stack (it really pays dividends in long run)
- Whatever said above, there should be leadership support and buy-in. Things will seem slow in the beginning
- Hire Consultants, but please have success criteria well-defined in terms of your success metrics “continuously” tracked.
FRAMEWORK & BEYOND
- Tag Scenarios
- OR’g and AND’g tags
- Execution from Command line
- Rake Power!
- HTML report
- embed Screenshots
- Archiving reports
- Integration with ALM
- Tracking your error!
- Ruby Debugger
- Connecting the Dots.
- Data Driven with Scenario Outlines
- CRUD operations with Excel
- CRUD operations with YAML
- CRUD operations with JSON
- Database operations and SQL
- Generate Test Data automagically
- PDF to Text
- XML & HTML parsing using Nokogiri
- Download online file
- Ajax & Java Script Handling
- Find Elements using Chaining
- Set up Selenium GRID
- Launch IE, Chrome and Firefox Nodes
- Configuration parameters for HUB and Nodes
- Desired Capabilities and Remote WebDriver
- Execute a simple Selenium script on GRID
- Pass Browser as Parameter to Script
- Introduction to Sauce Labs
- Real Data vs. Expected Data
- GRID configuration settings
- General Tips and Tricks
- Parallel Testing
- Deep Dive into Cucumber Tags
- Headless Testing
- Speed up your Tests
- Cucumber Transformations
- Cucumber Matchers
- Cucumber Capture Groups
- Ruby Class vs. Module
- Ruby Mixins
- Thick Client Automation
- Code quality Analysis – Cucumber and Ruby
- Technical Debt Discussion
- Keyword Driven Framework
- Data Driven Framework
- Page Object Design pattern
- Hybrid Framework
- MRI vs. JRuby
- Switching Ruby runtime to JRuby
- Integration with Sauce Labs
- Sauce Connect
- Dashboard, Logs , videos and reports
- Debugging Scripts and Logs
- Continuous Integration Server
- Integration with CI Server
- Jenkins Job Set up + Selenium plugin
- Continuous Feedback loop with Cucumber, Ruby and Selenium
- Scheduling a CI job
- Patterns for Continuous Testing
- Sneak Peek into Appium (Mobile Automation)
- It is very difficult to find good trainers online especially when there are so many websites and searching always confuses me. I talked to seleniumframework trainer (Naresh) and I was convinced that this team could understand what my expectations are. They in fact helped me not just on the training, but also directed me towards their rich network of students. I am very grateful to the team for providing such a high quality training and being available to answer queries, however tough they seemed Keep up the good work Guys!Prashanth
- I came with a lot of apprehension to this course if I would ever be able to learn basics. The course starts from the very basics and gradually increases pace. The trainers like Pradeep have immense expertise on various tools and softwares, that they can vary their pace based on the skill level of the student. I felt the classes were initially slow, however when I started doing the practice exercises is when I could see the learning I was going through. The last few exercises were very tough and I hope I would be able to solve them in real time projects -TracyTracy
- I was very surprised when Ruby was chosen. However, I am completely convinced now that with its simplicity , Ruby wins over many other programming languages especially for test Automation. Pradeep was extremely knowledgeable and always connected real time experiences in how decisions are made. I was very impressed when Pradeep explained the pros and cons of programming language choice for Selenium. Can't thank you enough for helping me get an automation engineer job! Cheers, MeganMegan
- Thank you for explaining all the details patiently.a I haven't found any training course so engaging and giving a holistic picture at the same time deep-dive into code. I came in with manual testing background, however I feel confident about Selenium Automation testing. Thank you very much - ChrisChris