29

Why test in IE5 if the customer isn't using it? It doesn't sound like they actually want IE5 support. They just want it to work. Test in IE11 Compatibility mode, as that's what they use.


27

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 ...


25

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 it's mocking. Take for example a network delay. Your production system usually takes 4 seconds to ...


20

John Ruberto wrote an article some years ago on Stickyminds entitled, "Is 100% Unit Test Coverage Enough?". The article can be found here: https://www.stickyminds.com/article/100-percent-unit-test-coverage-not-enough In it he presents the argument that there are different kinds of coverage. One could cover 100% of requirements, but that doesn't include ...


19

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 ...


17

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 ...


14

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. ...


14

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 ...


14

Look around on the internet, e.g. ebay, for Windows machines that are 15-20 years old. I don't like this answer but given the crazy situation I am suggesting it.


12

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 ...


12

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'...


11

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, ...


11

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 ...


11

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: SoapUI Postman 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 ...


10

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, ...


10

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 ...


10

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 ...


9

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, ...


9

Agile Pilot: 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 ...


8

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. ...


8

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.


7

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....


7

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 ...


7

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 ...


7

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'. Project/Organization budget Scope of Automation Skillset available with team Complexity/functionalities of automation Reporting Test case management Tool support, etc. Don't just compare the tools theoretically, use them for ...


7

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 ...


7

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


7

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 ...


6

In software, there are a couple of ways to wait for an event to occur. One way is to cause the event to notify you. Sometimes that is possible, sometimes not. Another way is to poll: you wait a while, check whether the event has occurred and if it hasn't, you do it again. A variation of polling is to wait a while and then assume that the event has ...


6

In the end I have gone with robotframework, as it is open source, well documented, and highly extensible. I've gone for the python version as opposed to jython, but this is mostly because I already have a decent python environment set up and have experience with python, but not java, so would like to be able to make use of its standard library in my test ...


Only top voted, non community-wiki answers of a minimum length are eligible