You might think software testing would be a bit of dry topic but Christopher Martello’s talk at the November Refresh Detroit meeting was far from it. Chris gave us a look at what website testing is, who does it, why they do it, and numerous excellent resources that everyone can use for testing.
Chris has a lot of experience to draw from. He has been doing software testing for about 12 years. He’s done manual testing, automated testing, been a team leader and a project coordinator. Currently he’s a Build & Deployment Coordinator.
He started with an explanation of why we need testing and what makes testers tick. Testing identifies issues that get missed during development. Tester’s are often in between the developers and the business analysts, making sure the functionality is in balance with the requirements. They can function as the gatekeeper to production, determining when a build is good enough for a release. “The most compelling factor for me as a tester is I want to make sure the customers … have a good experience,” said Chris.
Software testers are the type of people who like to find defects and issues. They identify the intended and unintended ways users can go through an application. They also make sure all the intended scenarios work. They incorporate quality throughout the process. It’s important that IT finds the bugs. “You don’t want the user to find the bugs”.
The testing process consists of planning tests, running through them, and reporting the issues you discover. Chris discussed how testing is one part of the overall quality assurance process for your website or application. “It helps build confidence in your application, the team can say it has been tested.” Chris briefly touched on some of common terms and testing methods used in software testing including functional testing, automated testing and load and performance testing.
He then discussed how NOT to test, which included:
- Letting the users do the testing
- Saying “I’ll test later”
- Saying “Works on my computer.”
He discussed other types of testing including standards and browser testing.
Standards testing involves determining if a web site or application meets HTML, CSS, accessibility, security and the evolving mobile standards.
Browser testing is a very important aspect website testing. Unfortunately its difficult to cover the ever increasing number of web browser and operating system versions. Graded presentation standards are typically developed to determine what browsers your web application works on and to what level. You can base your standards on your own internal application logs and on browser statistics found on sites like Stat Counter’s Global Stats. “You should probably be tailoring your browser standards to what your audience is,” said Chris.
He went on discuss the specialized craft of load and performance testing. “It’s almost like designing a very complex scientific experiment”, Chris explained. Its important for identifying bottlenecks and break points in your application but it can take a great deal of time to set-up.
There’s also manual testing. “You got to have some eyeballs and some hands on”, to test if your application meets the requirements and has the intended functionality. A few examples Chris gave of manual tests included proof reading the site’s fine print, checking if the correct phone number is listed, and making sure a form’s error validation is working correctly.
Chris then provided a list of tools and services that you can use for testing. I’ve listed some of them here but for a complete list I recommend you check out his slides.
- SnagIt – A handy screen shot tool.
- IETester – A way to test multiple versions of the Internet Explorer on one machine (free)
- BrowserStack - A complete cross browser testing service that creates virtual machines for you.
- Xenu Link Sleuth - For testing links on your site. (free)
- SQA Forums – Software Quality Assurance forums
- Cacoo – Free online drawing and wireframe sharing
Some of the Firefox add-ons that Chris suggested we check out are:
- Web Developer toolbar
- Add N Edit Cookies
- Firebug
- User Agent Switcher
- MeasureIT
Automation is where it’s at in software testing. According to Chris, “if you execute a test case more than three times then you should automate it.” It can save a tremendous amount of time. The downside is sometimes you don’t get support for the tools, the budget, and the training needed. While expensive, Chris likes the
HP QuickTestPro testing tool. Some other automated testing tools are:
- Selenium – an open source test automation tool.
- Rational Robot
- TestPlant EggPlant
Two load and performance testing tools Chris mentioned included Rational Performance Tester and HP LoadRunner.
Some issue and defect tracking tools Chris mentioned are:
Chris wrapped up the talk with some demos of some of the tools he discussed and answered questions from the audience. Throughout the presentation he provided examples, interesting anecdotes, and some fun QA jokes. Refresh Detroit would like to thank Chris for his excellent presentation.
Below are Chris’ slides: