Testing for Beginners

New to testing? Want to quickly learn the basics? All of the sudden exposed to a bunch of terminology that goes in one ear and out the other?

This page is for you! In fact, the whole Test Talk blog is full of resources for testers of any level, but this Testing for Beginners page is built specifically for you, the new tester.

So what is software testing anyway?

Simply put, software testing is the process through which testers (like yourself) make sure products work correctly – preferably before they get into the hands of your customers or audience.

The best way to make sure your product is ready for the public is to play the role of a customer. That could mean filling out a form on your contact page to make sure there are no errors. Or maybe you added a live chat widget and want to try it out yourself before adding it to your site permanently. Especially when there are a lot of moving parts, say on an ecommerce site, a small change to the code can create unintended issues elsewhere. Testers find and report those issues.

Why do we need software testing?

Many industries have quality assurance professionals and the technology industry is no different. Farmers must be sure that the produce they sell to the public is safe to eat. Wise manufacturers ensure their products work as advertised by testing them over and over again. Likewise, software testers are often the last line of defense between busy development teams and the public.

Where should I get started?

The testing community is active offline and online. For events in your area, try searching on Meetup.com. Many major cities have groups that regularly meet to discuss the industry, new technology, and tactics.

The Test Talk blog is a great resource for testers of any skill level. Topics range from basic terminology to advanced techniques and we consistently publish fresh content. Our New to Software Testing and Getting Started With Selenium posts will point you in the direction of several groups and individuals to connect with on LinkedIn, Facebook, and Twitter.

Two outlets run by the same folks, Software Testing Club and Ministry of Testing, both have lots of good resources. Software Testing Club also has forums, and people tend to respond to questions thoughtfully and are always helpful.

Basic Terminology

Manual Testing

A tester acts as an end user and manually checks all elements of a product to ensure there are no bugs. Manual testing is important because it allows the creativity of an individual to expose problems that some tools might miss. The downside is that manual testing is time consuming.

Manual testing can be scripted (following a set plan of action of things to test) or exploratory (just getting in there and trying things, observing what happens and making decisions about what to do next based on that).

Test Talk posts on Manual Testing

Automated Testing

A tool, like Tellurium, is used to write and run tests to detect defects. This can save lots of time and money by eliminating the need to manually test the same issues over and over again. The downside is that automated testing tools don’t think for themselves the way a human does, so if they’re not told to look for something they won’t.

Test Talk posts on Manual Testing

Agile Testing

Be prepared to hear this term a lot. It’s a project management approach that has become popular in the software industry. Officially beginning with the Agile Manifesto in 2001, the approach aims to improve efficiency, simplicity, and quality in software development and testing.

Agile testing is just testing in an environment of constant change and flux. One key aspect of Agile testing is that testing happens all the time, as opposed to at the end of the development cycle.

Scripting Language

In automated testing, test cases must be written in such a way that the automated testing tool can understand and execute them. This grammar for writing test cases is called a scripting language. Scripting languages are essentially programming languages and vary from tool to tool.