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 ...
In my experience, if you hire an "automator", you're going to get someone who can write code, but has no skill or desire to test. And that's fine if that's what you want.
However, if you just want tips on how to hire a tester than can automate, then ask testing questions that have potential to be solved more efficiently with code. An example I use ...
A hard coded sleep statement is generally supposed to represent some sort of mocked delay in the application that doesn't exist during testing.
The harmful aspect of this is that a hard coded value can't represent the complexity that actually exists in what its mocking.
Take for example a network delay. Your production system usually takes 4 seconds to go ...
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 ...
The best place to start is over at http://www.thebraidytester.com/ where Michael Hunter describes the stack he built for testing Microsoft Expression in number of articles, papers and blog posts.
I have used this approach as the inspiration for my own watin based stack which is available at http://testingstax.codeplex.com
Essentially the framework breaks ...
I suspect this is not a TestNG issue. I would start by trying to produce a minimal set of tests that, when run together, cause failures. After that, I would explore these possibilities:
Inter-test interaction changes test-application interaction: It is possible that interaction between your tests changes how your test interactions with your application. ...
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 sources: ...
Your automated tests are currently set up to answer the question "What isn't working as expected?"
Now you want them to answer the question "What isn't working that I don't already know about?"
Your solution is to change the automated tests so that they account for the "known" bugs in one of two ways:
You could comment out the tests which find every known ...
For Test Automation purposes, it's always been my belief that once you know 2 scripting languages, you are in very good shape.
Being comfortable with 2 languages means you know how to automate, and that you know how to learn a new scripting language. As a hiring manager, I will be able to assume that you could easily pick up another new language as needed.
You've got quite a few questions in your one question, but overall it sounds like what you want answered is: How can I learn to write automation so I can switch from a 100% manual testing role into a role that involves writing automation. I'll get to answering that one, but first...
Honestly, if you are already manually testing in your current position, ...
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 ...
The main harm occurs when the time value you use in your Sleep statement isn't appropriate for the current instance of the test.
Your script might Sleep for 4 seconds, because that's how long it took for some important object to appear when you created your script. Then the script moves on with actions using that new object.
But when you re-run the script, ...
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, ...
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 ...
You must define the role before you can determine the interview questions.
You need to ask yourself - what will this new hire be expected to do?
Will your Automator actually be required to do any testing? Or just build automation tools?
Will your Automator analyze your needs and create her own requirements? Or is someone else creating the requirements?
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 ...
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.
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 ...
Yes. The Page Object pattern is a good technique, and is the logical conclusion you are working towards already by extracting reused logic into methods. With this pattern, you create a model of every page in your UI. These page models are the only part of your program that know anything about your UI. Then, if the home page title changes, you just update ...
The programming language you pursue should be predicated on
The technology space you are most interested in (web, platform, mobile, etc)
The market trends in your area (e.g. what language skills are employers most looking for)
On a side note, I don't know why some people get so focused on a particular "programming langauge." Instead, I recommend learning ...
Another approach that might help with the portability is to run you SQL from an application test harness. If you use the SQL inline with this you have the ability to take the exe to any installation and just run it. To expand on using a testing framework there are several really good articles on Simple Talk about Unit testing sql code. They are good reads....
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
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.
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 ...
It sounds as if you try to avoid duplication in your automated tests. That is a good practice to follow, not only in automation but in programming in general.
For static strings, you might consider using property files instead of Java classes, especially if there are literally thousands of such values.
Ask yourself whether you are testing at the right ...