Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results.

- Wiki
41 articles, 13 books. Go to books ↓

Every time when I write code, I remember that my customer (and the users of the application) trust me. They expect that the application provides correct information to them. They expect that the information entered to the application is safe, and it cannot be accessed by unauthorized persons.

For those who would like to read more on Software Testing and QA.

Most programmers do not write tests. We all know that we should write them, but for whatever reason, most of us don't. This is unfortunate, because testing is the most powerful tool we know of to improve software quality. Tests reduce bugs, provide accurate documentation, and improve design.

Testing, in many forms, is an integral part of building products. Too often if the project is late or hurry up and learn or agile methods are employed, testing is one of those efforts where corners are cut. Test, to put it simply, is the conscience of a product. Testing systematically determines the state of a product.

There aren't many frameworks for writing acceptance tests for databases, including SQL Server. FitNesse is an obvious choice since it is designed with a Wiki-style interface that, once it is configured and set up correctly, makes it very easy for a non-specialist to set up individual tests.

Your job is to protect the user from bugs and usability issues by catching them before they are shipped.

Ins & Outs of Software Testing Technology Under One Roof

Software Testing is going through some revolutionary changes on philosophy, practices and tools; largely driven by current business and the IT environment. This article is an attempt to look at factors influencing changes in testing space, emerging trends in testing and the impact they have on testing professionals in the 21st century.

Often it’s obvious to testers when something hasn’t worked. The application crashes, there’s no output, or it’s gibberish. Sometimes the output superficially looks ok, but in context it’s patent nonsense, e.g. a schoolchild’s age is calculated at 25. However, with complex applications, especially financial systems, it can be harder.

I periodically see similar claims that testing can be fully automated. The usual process is to misunderstand what a job entails, define it in a way that makes it amenable to automation, then say that automation is inevitable and desirable.

Some of the best interesting quotes on software testing and quality assurance

Think of all the browsers, all the devices and all of these web pages you’ve got to test, not to mention the iterations and bug fixes. You need a front-end testing plan.

People are very opinionated creatures. If you are a UI & UX expert, or a designer/developer, it is so easy to get caught in the cycle of making ultimate decisions based solely on past knowledge and experiences. The problem is, every scenario is different so past knowledge and experience won't always give you the correct answer. All it can do is help guide you into the right direction. This is where user testing comes into play.

Bug tracking is a process used by quality assurance personnel and programmers to keep track of software problems and resolutions.

Testing your responsive web designs is crucial because the user experience on mobile devices is quite different from desktops. But actual testing on all the mobile devices in the market isn’t practical for most of us.

The biggest, most basic lesson from Jurassic Park for software testers (and society, I suppose) is that complex systems will fail. Not just that they might fail, which implies that we can comfortably weigh the possibility of failure against the size of the profit. That they will fail, and the bigger and more complex the system, the more unpredictable in nature the failure, and the bigger its consequences.

Just as excellent testers must understand they provide a service, they must also understand that they are not “quality” people. They simply hold the light so that other people can work. Testers do not create quality.

"Testers don't break your code, they break your *illusions* about your code"

Have we obtained the information that we need to know about the product? Is the risk of stopping now high enough that we might want to go on testing? Was the deadline artificial or arbitrary? Is there more development work to be done, such that more testing work will be required?

Programmers need a good working knowledge of at least the common mistakes, the frequent cases that average programmers tend to miss, to work against. You are tester zero. This is your responsibility.

The Big List of Naughty Strings is an evolving list of strings which have a high probability of causing issues when used as user-input data. This is intended for use in helping both automated and manual QA testing; useful for whenever your QA engineer walks into a bar.

The 1994 movie Pulp Fiction is a modern classic. And its eclectic dialogue, groundbreaking cinematography, and dramatic flair actually provide good inspiration to talk about a few things every tester has probably experienced in his or her career. Here’s how plot points and film techniques in Pulp Fiction mirror some experiences in software testing.

Conventional wisdom says that developers are bad at testing their own code - the main reason being that developers tend to test their software with the "happy path" in mind. Erik Dietrich gives a few techniques you can use to be more effective at testing your own software.

The incredible growth of mobile and the proliferation of mobile devices has made the UX designer’s job more challenging and interesting. It also means that user-testing mobile apps and websites is an essential component of the UX toolkit.

Have you ever wondered why Netflix has such a great streaming experience? Do you want to learn how they completed their homepage plus other UI layout redesigns through A/B testing?

Test engineers (TEs) at Google are a dedicated group of engineers who use proven testing practices to foster excellence in our products. We orchestrate the rapid testing and releasing of products and features our users rely on.

The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.

In this class, you will learn basic skills and concepts of Software Testing. Lessons are taught using REAL-LIFE SCENARIOS for improved learning.

As more people across the world connect on Facebook, we want to make sure our apps and services work well in a variety of scenarios. At Facebook's scale, this means testing hundreds of important interactions across numerous types of devices and operating systems for both correctness and speed before we ship new code.

Over the past few months, our automation team had the feeling we are not covering enough ground in our UI tests compared to the efforts being invested. That’s when we got serious about API testing. This post and consecutive ones build up the case for why to invest in API automation.

There is a lot of pressure on testers to be “more technical”. The term “technical” is ambiguous and means different things to different people.

There's an opinion going around how awesome game testing is - that you wake up knowing that you'll play games for 8 more hours, doing what you've been doing anyways while being unemployed, while gaining valuable experience to get a better job later on. This MIGHT be true in some ways, but not in all of them.

A computer systems migration at Britain’s TSB bank that left up to 1.9 million customers unable to access their accounts was hindered by rushed and inadequate testing and poor internal communication, two contractors who worked on the project said.

A product engineer’s job is to have effective and clear communication as much as it is to write code. And one of the most common communication issues between engineers and business is communicating requirements.