Hot answers tagged

16

I think the main reason why companies are not doing automated testing is because the "Return on Investment" is hard to prove. Also its hard to prove that you will have less defects in production due to these tests, since they will catch the obvious issues, but not the complex dependency issues that actual users might run into. The automated testing mindset ...


13

There are many reasons why companies choose not to invest in test automation. Some of the ones I've encountered include: The state of the software makes test automation non-viable. This is particularly common where an organization's flagship software is built in older code and technologies with massively intertwined GUI and logic (classic ASP comes to mind ...


7

The flaw of your analysis is that you are thinking like an engineer. You are asserting that the cost-benefit analysis shows that automated software testing is superior. But you forgot to specifiy which goals you are optimizing. The automated testing is only superior when you are looking at things like the quality of the end product, or the efficiency of the ...


6

Some large organizations don't eschew functional tests because they "can't be bothered with them", or "don't know better", but because they see them as a strategic liability. I work at The Guardian, and we rely on neither automated nor manual regression tests. Why? Automated tests have a long term cost. Anybody who has maintained a regression suite in a ...


5

The TDD cycle is more a development cycle for a developer, to quote James Shore, The Art of Agile, Test-Driven Development chapter: Programmers new to TDD are often surprised at how small each increment can be. Although you might think that only beginners need to work in small steps, my experience is the reverse: the more TDD experience you have, ...


5

When using this API, you should be describing errors In JUnit, this signature is described quite clearly in the Javadoc (emphasis mine) Parameters: reason - additional information about the error actual - the computed value being compared matcher - an expression, built of Matchers, specifying allowed values What you're describing by ...


4

IIRC selenium webdriver creates a fresh FF profile each time it's constructed. I found a link about how to set it to a different profile (one where your bookmarks, addons etc. exist) Regarding IE, I imagine profiles with IE more difficult perhaps? Why would you want this though? I can maybe understand why you'd want a particular addon to see how it ...


4

Usually it isn't required to do performance testing of desktop applications as they're being used by 1 user only hence visual experience is quite enough. However if desktop application relies on backend server, i.e. it does network communication over HTTP protocol using an API or displays data from RDBMS you might want to test what will be the behaviour of ...


4

One way is to use a singleton class like this: public class FirefoxDriverProvider { private static FirefoxDriver instance = null; public static FirefoxDriver getInstance() { if (instance == null) { instance = ... initialize FirefoxDriver here ...; } return instance; } } In your TestNG classes, you can do ...


3

Agreeing on good element and attribute identifiers is essential with web applications. Identifying elements is done by developers, designers and automation programmers. In a traditional waterfall environment with most of the requirements and specifications placed up front you can agree that, for example all elements that will be used, checked, clicked on ...


3

Major difference in TestNG and JUnit test frameworks is their scope. Junit is a unit testing framework while TestNG addresses testing at a higher level. and my recommendation is TestNG(Next Generation) Framework. Find the some references to get details about both of them- http://www.slideshare.net/ssuser220b38/junit-and-testng ...


3

JUnit 4 and TestNG are both very popular unit test framework in Java. However, TestNG's goal is much wider, which includes not only unit testing, but also support of integration and acceptance testing, etc. Which one is better or more suitable depends on use contexts and requirements. Annotations: In JUnit, the @BeforeClass and @AfterClass methods have to ...


3

Test coverage and implementation of automation framework are 2 different things. According to me they are not linked directly. Automation frameworks won't write the test scripts on their own. People will be writing the test scripts, which they will later execute using the automation tool/framework. The test coverage of test scripts will be as good as the ...


3

Spin up your own test environment and test against that. Let's face it, a public facing web page that's designed to attract DDOS testing isn't going to be a valid test candidate. The reason for this is that you'll not know how many other users are hitting a public server or the spec of the environment. If you ran 100 simultaneous users and the site went ...


3

I'd plan it this way: The specific tests that are written 'before the code' are unit tests that are written by developers just before they write the actual code. It should only take 5-20 minutes to write a simple test. The test is written, the code is written for it and then the test is changed or the next test is written and then more unit level code is ...


3

If developers also write unit tests, then what's the point of having special testers in our team and should we replace testers with developers? Unit testing is not the only kind of automated testing. Integration tests, performance tests, scalability tests, and fault tolerance tests are all examples of automated tests that are not unit tests and that a ...


2

Firstly, you should separate your process from your technology stack. Evidently, you've defined a process for yourself: you'd like to write tests that you can execute manually to verify certain things and that you can later use in unattended runs to verify those same things. Now you need to find a technology stack which will let you do this. Now, given your ...


2

There is another tool to record page object model. below is the link: http://seleniumrecorder.blogspot.com/


2

I think it depends largely on: whether this is a standalone testing app or part of a rails application. if part of a rails application, which rails version was originally / currently used. In rails applications it's now usually placed in spec/support/capybara.rb:, e.g. Capybara.javascript_driver = :selenium


2

Launching Safari browser is very easy, just you have to add safariDriver jar in your Windows Safari browser. Check after installation whether this icon is displayed or not? If Yes then it will work. Steps- Requirements: Safari Browser installed Selenium WebDriver Now we have to install SafariDriver extension with below steps. Manually install the latest ...


2

Page Factory Pattern is like an extension to Page Object Model , but Page Factory is much enhanced model. To start with, we just need to import package org.openqa.selenium.support.PageFactory "Factory class can be used to make using Page Objects simpler and easier". We use Page Factory pattern to initialize web elements which are defined in Page Objects. ...


2

Selenium supports various programming languages like Java, Perl, Python, Ruby, C#(.Net) etc. So it's mainly up to you. You should choose the language itself, and not the bindings. If you were to force me to name the language you should use- JAVA. I would have to give you the famous then- Java is a my first choice to start with Selenium(even if it is a bit ...


2

Here some points about sikuli I have discovered: Sikuli can not select by 100% text match. So it is extremely difficult to use it in financial applications cause there are not too many different GUI elements, but lots of similar buttons, lists, tables... So how could you select specific string (by its contents) in table with 1000+ rows (only 25 are in a ...


2

The reason behind the exception you have mentioned is because with your test script you are trying to locate an element that doesn't exist in the webpage you are trying to test. how will you resolve It? Well, along with the text you have provided, the console would also have given the line number in the test script where this exception occurred. I ...


2

My recommendation is that you store the state of what has been used within a test. So the test would initially create a new user with a unique email. You can use some random character generation or a database sequence to make each one unique. Personally I recommend using sequences as they are more deterministic than random characters and less likely to ...


2

So what you are trying to do is have a script run on different browsers and want to register a user with a unique email address. Well, Google allows you to use single email address for such testing purposes with incremental characters appended to your ID. How this works is, You have a Gmail account say example@gmail.com. You can use this same account for ...


2

Why is everybody so obsessed with coding and automation for Quality Assurance/Analysis? Yes, use of tools does help in testing but its not what testing or QA is. There's so much to quality analysis than trying to automate everything. Not everyone has equal skills. Some people are good at coding, while others are good at thinking and coming up with good ...


2

Given that there are already YAML parsers out there for a variety of languages, I'd be very tempted to use one of those as an oracle, and then have both parse arbitrary YAML files, and compare the output.


2

In my organization we are using Jira as test management tool and Selenium for UI automation.The framework used is TestNG. There is a plugin for Jira called Hiptest which can be used for creating and executing test cases. It has an additional option to work it with on automation too. Hiptest is good from my small experience. Simple to run test suites and ...


2

Unit test should be written by developers. Unit test are very close to the core code and developers have intimate knowledge of how units should work. testers are usually more removed from the deep innards of the core code and they will not be ass effective writing unit tests as core developers are. Acceptance/integration/end-to-end test do not require this ...



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