Obviously software testing is a good idea. I’ve been a software developer long enough to realize the benefits of investing in up-front testing of the software. It’s baked into my development process and I wouldn’t commit code without at least thinking about the test scenarios, let alone consider writing them up as [unit|integration|regression]-tests.
I started writing this post a couple days ago when I found out that I’d be tapped to help our QA group with some end of iteration testing this Friday (today). My first reaction to GUI regression testing is that it’s an annoying thing for a developer to have to do. It being the act of running through written regression tests and effectively clicking buttons and ensuring that the application behaves accordingly. We’ve actually done this (successfully) for years but luckily the QA team is starting to get large enough that they don’t require many testing resources from development. On one hand that’s good, developers can remain focused and don’t have to do manual regression testing, but on the other hand, there’s a lot of potential improvements (automation and other-wise) that could be accomplished rather trivially by properly motivated developers if given the opportunity.
I don’t think that developer written tests should ever be considered a substitute for end-to-end system regression testing. However, developers should know the in’s and out’s of a system and if motivated enough, be able to make the running of these regression tests more efficient.
Here’s a couple concrete examples:
- Automating data creation. ex) We’ve got a process that imports an excel spreadsheet who’s format is dependent on pre-existing data in the database. The data changes and therefore you’re forced to make a new spreadsheet for each testing session.
- Performance testing. If you’re using a stop watch to gather performance statistics, that’s gotta be annoying. Invest a few cycles in building an automated test suite that covers enough scenarios to determine trends and problem areas. Run them frequently and without much human intervention.
I don’t think that developers make good testers and vice-versa. However, there’s a definite synergy between testers and developers that if you could just let each do what they’re good at, the overall outcome would be better. If you must have developers help out with testing (assuming they’re not your only testers), consider giving them the flexibility to improve the process alongside simply pushing buttons.
-
Windows Live Writer isn’t bad Until recently, the bulk of my writing was done on a Mac using Ecto. I was looking for a suitable publishing tool for Windows and was directed towards ...
-
Pet Peeve: Don’t email my password to me in plain text You know the drill.
Signup for some random service on the internet
Receive a confirmation email with your account information
or
Forget a password for some random service ...
-
Eclipise Memory Analyzer (MAT) I must say the Eclipse Memory Analyzer looks pretty slick. There is some pretty good material over on the developers blog. Lastly, there was a talk on it ...
-
Open-source Web-based Code Review Tool: Rietveld Guido van Rossum, of Python fame, has recently released a Django-based application that enables web-based code reviews... Rietveld.
It supports any language and currently can hook into Subversion repositories. You ...
-
An implementation of the JVM in Javascript? Caught this over on JavaPosse Google Groups.
Essentially, some bright fellows over in Japan have developed a bytecode->javascript compiler. There's a demo floating around that took a Tetris ...
Latest Entries
- Windows Live Writer isn’t bad
- Playing around with Rails again
- Lessons Learned as a Project Lead
- Good ANTLR Resource
- Testing with Unitils
- Headed to Kelowna for a short vacation (and the laptop stays behind)
- Seam + Groovy + Maven : Nice Simple Hibernate POJOs
- Pet Peeve: Don’t email my password to me in plain text
- Eclipise Memory Analyzer (MAT)
- caBIG Annual Meeting - A developers perspective
Blogroll
No Comments
Leave a Comment
trackback address