Sauce Labs Solves Real-World Selenium Issues

Thumbnail image for Sauce Labs Solves Real-World Selenium Issues

Here at Sauce Labs, we work with, quite literally, millions of real-world Selenium tests. A handful of major issues with Selenium come up again and again with our customers. Some are browser configuration details we can tweak in our cloud, while others are beyond the reach of Selenium 1. The good news for the Selenium [...]

Java Unit Testing Tutorial

Thumbnail image for Java Unit Testing Tutorial

This 20 text tutorial on Java Unit Testing covers the basics of unit testing in Java with JUnit. It addresses basic asserts, mock objects, IO testing, a bit of database testing, and talks about how to design for testability. The reason you test your code is to prove to yourself, and perhaps to the users [...]

Test Case Design For Software Testing

Thumbnail image for Test Case Design For Software Testing

The design of tests for software and other engineered products can be as challenging as the initial design of the product itself. Yet, software engineers often treat testing as an afterthought, developing test cases that may “feel right” but have little assurance of being complete. Recalling the objectives of testing, we must design tests that [...]

Web Application Security: Testing for Vulnerabilities

Thumbnail image for Web Application Security: Testing for Vulnerabilities

The increasing reliance on data-driven Web sites has caused an incline in the number of attacks launched against them. As a developer, understanding how a site can be attacked is paramount to making it secure. Discover some of the more common attacks, and learn about the tools you can use to spot them. To write [...]

Best Practices in Internationalization Testing

Thumbnail image for Best Practices in Internationalization Testing

Internationalization testing is the process of testing software which is supposed to work uniformly across multiple regions and cultures. There are two of the major aspects of international software – world readiness (globalization) and localization. World readiness refers to the process of designing, coding and testing the product such that it can be easily localized [...]

Boredom in Software Testing

Thumbnail image for Boredom in Software Testing

According to psychoanalyst Otto Fenichel, boredom occurs, “When we must not do what we want to do, or must do what we do not want to do.” Though the feelings of being bored by routine tasks are often transitory, longer-term boredom can set in from a lack of meaning or purpose in life. Can software [...]

The Purpose of Unit Testing

Thumbnail image for The Purpose of Unit Testing

I was reminded yesterday that there are still many people out there who still don’t really understand the purpose of unit testing. A funny shift happened in the last 5 or so years.  About 5 years ago, when I would suggest TDD or just doing some unit testing when creating code, I would get horrible [...]

My Code Has no Bugs

Thumbnail image for My Code Has no Bugs

Even though it is practically impossible to write bug-free source code, some people really think they do. It was the case of one of my former colleagues from a company for which I have worked for a couple of years. He was really thinking that he was extremely skilled (and he was… but not as [...]

Do Typos Count As Software Bugs?

In the life of a tester, a great deal of time and energy will be spent arguing over the validity of software bugs. After reporting what they consider to be an issue in need of fixing, a tester is often told that “it’s not a bug, it’s a feature.” These conversations presumably date back to [...]

How Google does Test Engineering

Thumbnail image for How Google does Test Engineering

James Whittaker, test engineering director at Google, talked yesterday at the Agile Cambridge conference on how Google does ‘Test Engineering’. He likened software testing to healthcare – in particular patient care in hospitals. Whittaker started by saying that software development was like manufacturing 20 years ago, and that the cost of fixing problems after a [...]