An amusing post which would be more amusing after having a glass of wine (of course applicable to software testers only)!
This post shared seven similarities between testing software and tasting wine:
1. Both need a staged approach to be successful
2. The better skills you have the better the results are
3. Knowing more will give you different findings
4. Each product is different
5. A lot of parameters influence the outcome
6. The price doesn’t say anything about the quality
7 . The outcome depends on the testers/tasters
Every team operates differently when it comes to software development using Agile process. However these two sentences directly from Agile manifest can help team work together effectively and enable QAs to shorten product feedback loop:
1. “Business people, developers and QAs must work together daily throughout the project.”
2. “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”
Every software testing project needs to be organised. And if you really want to be efficient some kind of system is needed to manage all the requirements and data. Once an excel spreadsheet becomes too much for your test team to manage, you may want to start looking into a Test Management Solution.
What is a complete Test Case?
A test case is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as validation of requirement or use case. Test cases are often referred to as test scripts, particularly when written. Written test cases are usually collected into test suites.
What is Test Case Management?
Test Case Management is maintaining the test cases with a process in a central storage medium. This can involve version control of the individual test case, combining test cases to make test scripts and tracking test results against test cases which have been executed.
Here is brief comparison of various popular test case management softwares:
Software bashing has been proven an effective method to flush out any post-development bugs.
Software bashing is usually performed on finished products via exploratory testing where product users
are encouraged to “do their own thing”
As per Wikipedia:
In software development, a bug bash is a procedure where all the developers, testers, program managers, usability researchers, designers, documentation folks, and even sometimes marketing people, put aside their regular day-to-day duties and pound on the product to get as many eyes on the product as possible.
Bug bash is a tool used as part of test management approach. Bug bash is usually declared in advance to the team. The test management team sends out the scope and assigns the testers as resource to assist in setup and also collect bugs. Test management might use this along with small token prize for good bugs found and/or have small socials (drinks) at the end of the Bug Bash. Another interesting bug bash prize was to pie test management team members.
Companies like Microsoft organize these internal software bash activities frequently to encourage their employees in using the products and finding the bugs before customers find them!
For e.g. http://blogs.msdn.com/b/windowsmobile/archive/2004/04/28/122435.aspx
There is a highly followed bug bash running guide put together by Scott Berkun, an author of books on software testing and development:
I have personally reviewed two books on software testing where central theme of effective testing was
1. The Practical Guide to Defect Prevention by Marc McDonald, Ross Smith – responsible to
testing and delivering operating systems at Microsoft
2. Changing the Game: How Video Games Are Transforming the Future of Business by David
Edery – researcher at MIT
I guess it depends whom you ask this question. Here is QAs take on this subject:
- When testing provides continuous feedback, developers understand what is good, what is unreliable, and also what is important.
- Continuous corrections towards the goal speed up the time to completion.
- Testing isn’t a role with its own goal, QAs are there to help; and the most important help is speed, and the second one is quality (acceptable quality can be met in many ways, with testing it is faster.)
Someone might object and say “on the contrary, with all their phases and complaints, testing makes
things much slower!” however this might stand true for some.
“Good testing makes software projects go faster”
See original post