Your boss doesn't want a flat "No" or to hear their request is impractical.
They want to reduce the risk of releasing changes to the application.
Make your boss choose your priorities, that is one of the roles of a manager.
Add scenarios based on team knowledge and work with your boss to rank them by risk.
Implement top priority scenarios
Go back to ...
John Ruberto wrote an article some years ago on Stickyminds entitled, "Is 100% Unit Test Coverage Enough?". The article can be found here:
In it he presents the argument that there are different kinds of coverage. One could cover 100% of requirements, but that doesn't include ...
Given that the customer insists, I'd recommend using a virtual environment with IE5 installed, and then search for automation solutions that can work in that environment. This will be a challenge: you will need something that can operate on the elderly operating system (I think XP can run IE5, but I'm not sure about anything newer) and preferably something ...
Another approach (or part of one).
Before proceeding ask for a sign-off on a document that clearly states the security risk this presents to the organization and its customers and that they acknowledge that risk. This might get more attention, though it is obviously a little aggressive (or may be perceived to be that way). Adjust approach as needed for the ...
I have struggled with this issue in several companies. It always seems to come up at some point and then be a major issue over time.
I too have walked the path of sleeps, polling waits, check for ajax done, check for js done, check for animations done, etc. They sometimes help with some of the errors but it always seems that just when you think you have ...
How to get started with Selenium: A Brief Overview
So you want to automate browser-driven tests, and you're not sure where to get started. You've heard of this "Selenium" thing, and you think it's what you want, but you can't be sure. Fret not! Here's a quick rundown of what you're looking at and how to get going. This is mostly adapted from two ...
my colleagues suggest me to learn and create a fully functional -
generic framework which any team can use?
I suggest you don't. Your coworkers suggest you to start over-engineering. It is fine to experiment.
Automate a test, automate another one. Maybe a reusable abstraction emerges. Maybe this becomes a reusable framework. Practise the YAGNI (You aren'...
To broadly address your question, just pick some test cases with simple interactions that aren't very dynamic and automate those. Trial, error, and practice will get you there.
Is Java mostly used for Selenium tests? Do you recommend it over C#?
According to StackOverflow, there are more Selenium tagged questions in Java than any other language (as of ...
I have had exactly the same assignment earlier this year, for APIs written in C#. Options I have (tried to) build a PoC for were:
Own framework built in C# using either RestSharp or HttpClient.
In agreement with the test lead and architecture team, we have decide to use our own C# API testing framework for the following reasons:
Ease of ...
Flaky test is well-known pain point:
How to deal with flaky tests that have intermittent failures? (on SO, and links from it)
How to deal with flaky tests that have intermittent failures? and Where do our flaky tests come from? on Goggle Blog.
How to fix Flaky Test Automation - another collection, thanks to @Rsf
Because so many extremely smart people were ...
It's always good to use numbers to make your point-
There are N models and sub models of iPhones (for some applications you should also count the phone's network sub-type), each with M available iOS versions and sub versions (this is not entirely accurate, some models and iOS versions don't work together, but never mind that now)
Older iOS versions needs ...
You could start with unit tests, while the application is being developed. In Java you can use JUnit for this.
If you don't have a fully functioning system yet, you can use mocking to mock objects. In Java this is done with Mockito or JMockit.
Look into unit testing and TDD (Test Driven Development).
Once you are ready to integrate different components, ...
Automate a test in the simplest way possible
Automate another test
Repeat and evolve into a robust framework
Your plan sounds traditional and will probably result in a lot of research and over-engineering. Start simple and let your tests form around your application and business. Tackle uncertainties as soon as possible. Don't make your plan ...
The goal is to find bugs while leaving time and money to do other things too. So a high-quality test is a test that finds bugs but doesn't require a disproportionate expense to write, maintain, or operate.
Sometimes you can tell whether a test is low-quality just by looking at it. For example, if the test is buggy or written in a brittle way so that ...
Your POC report is destined for the manager who wants to know the outcome of your investigation. More importantly, he'll have to decide whether to continue with the POC results, do another one (with different technology, for example) or stop investing in test automation at all.
So, try to make your POC report as informative and comprehensive as possible.
I believe its a very good practice, In my company we do exactly the same, I assume this is only because of historical reasons (in our case) but in general, you will try to have the smallest number of the system possible so for the medium future, it probably makes sense to unify test automation script with the source code as the same version.
It isn't necessary to have strong - or any - coding skill to perform software testing or to be a highly skilled tester. No tool will ever replace the ability of a skilled manual tester to observe something that is not quite right in some way and trace the problem.
When it comes to automation, things get interesting. There are numerous tools that claim to ...
My first advice is to not write automated tests for pages that change frequently. You may be better off testing those pages manually.
If you insist on automation, think about which aspects of the pages do not change, and write classes to model those aspects. For example, if forms always consist of text fields and a submit button, you can write a class to ...
Although, this question is too broad to answer but in short I can say 'It depends upon number of factor which tool you want to use'.
Scope of Automation
Skillset available with team
Complexity/functionalities of automation
Test case management
Tool support, etc.
Don't just compare the tools theoretically, use them for ...
From this and from your other question about using Excel as input for Selenium, I have a feeling that you need to improve your general programming skills. If you are competent programmer, selenium is just yet another library you have to use to make your program to do what you want it to do. Not trivial, but not rocket science either (for a competent ...
Page object is an design pattern.
First you should understand the difference between framework and design pattern.
For that refer this link.
To understand page object design pattern refer this link.
Use Unofficial site for more detail : Do a Google search, you will get a lot info on this link.
Page Object Pattern
Steps to work with tabs in the same browser:
Open a new tab using Ctrl + t
Driver control automatically switches to the newly opened tab
Perform the required operations here.
Next switch back to the old tab using Ctrl + Tab. You need to keep pressing this unless you reach the desired tab.
Once the desired tab is reached, then perform the operations in that ...
A partial answer to your many questions:
Jenkins - yes, Jenkins is used by many organizations for their CI pipeline, including UI automation like Selenium scripts.
Typical Selenium Project - there is no such thing, any more than there is a typical website. The best you are going to get is broad guidelines such as:
Don't Repeat Yourself (DRY) - If you find ...
Isn't that what pageObjects are in essence: A description of the UI elements on a Page and how you can interact with them.
Now when writing tests you often interact with multiple elements in a certain way to achieve a workflow. Now if multiple tests use the same workflow it might make sense to move the combination of workflow-steps also into the pageObjects ...
I think you are missing out the definition of "Framework"
A framework is comprised of a combination of practices and tools that are designed to help QA professionals test more efficiently.
These guidelines could include coding standards, test-data handling
IMHO, a team lead who is a developer with less knowledge in testing, is the wrong kind of person to be selecting a test tool.
Do you have any QA Professionals on your team - perhaps someone with test tool experience? Or, lacking that do you have anyone on the team who will actually be tasked with using a test tool? I would suggest you turn to them.
Oh Boy! you might start another one of the Java vs Python vs Other language war. These are kind of question which are always answered with preference for a specific language in mind.
For me- I would prefer Python over Java, because of one reason : Its simplicity.
Our test team comprises of people who have little programming experience. However, most of ...
Difference between Keyword driven and Data driven framework :
Data Driven Framework :
It is nothing but data driven test, performing the same functionality with multiple input values by using parametarization with the help of data table or data source is called Data Driven Test.
While automating or testing any application, at times it may be required to ...