Home > Software Quality Tips > Software Testing > Software testers need to understand architecture, business domain
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

SOFTWARE TESTING

Software testers need to understand architecture, business domain


Baiju. M
01.07.2008
Rating: -3.80- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Baiju M.
Baiju M.

It's important for a tester to know the terminologies and methodologies of testing if he wants to understand the theory of testing technology. He will become a successful tester once he applies these theories to deliver quality products within the time and cost constraints.

That does not mean, however, that theoretical knowledge alone will give a tester an edge. Two other important factors are vital for a tester to be successful: Expertise in the business domain and the architecture on which the software is built.

Expertise in the business domain
Understanding the exact business requirement of the end user is the biggest challenge a tester may face. This will enable him to certify the software before exposing it for client approval. It is vital that the tester understand the business domain on which the application is being developed if he is to understand the specification. Knowing the domain will help the tester break communication barriers, appreciate the business need and relate to the impact of the system in the overall scenario -- even when it is not explicitly stated.

For example, a tester validating a software application in the financial portfolio management business domain must know financial terms such as separate account management, accrued income and mutual fund. Knowledge about the business rules in the domain will help him identify the correlation between different functional modules, which in turn will be beneficial in drafting the test strategy and subsequently the test plan/test case.

The tester need not be the final word as far as the business rules are concerned. But in order for the tester to make an informed decision on how the application should behave under different business situations, he should possess sufficient domain knowledge. This should include knowledge of business processes in a specific context or awareness of generic business. Testers are supposed to represent the end user in terms of what to expect from the product. It is the duty of the tester to grab as much knowledge on the domain as possible. This is certainly a long process, but this will give him an advantage among his peers.

Software architecture
Testing, for most testers, is black box testing without knowing the code base on which the application is built. At least some of them might be exclaiming, "What do I have to do with the architecture of the application!" or "Why should I come to testing if I need to understand all the class and methods; I could have become a developer instead!" For them testing is all about breaking the system by keying in some data in the data entry forms.

However, business applications are becoming more complex, and we cannot rest assured that effective testing can happen just by keying in some data through the user interface. Understanding of the underlying components of the application will help testers plan their testing more effectively so that they can identify hidden errors in the application.

The use of independent third-party tools and loosely connected off-the-shelf products is inevitable in order to implement intricate business requirements. Technology has advanced a lot and multi-tier architecture has become common in the software development arena. If a tester understand the architecture of a system, he will be able to better identify the parts of the application that are bound to break based on the complexity that is built in that part of the code.

Understanding of the architecture and underlying components will help a tester with enhanced defect reporting. He will be able to better explain the issue reported rather than stating simply that he received such-and-such error.

This will also help the tester improve his exploratory testing skills. When he comes across an issue, he will be able to dig in to the details of it, keeping in mind the architectural complexity of the part of the software and isolate the problem.

By understanding the underlying components, the tester will also improve his testing precision. He will be able to segregate the problem innate in an application without going for exhaustive testing.

-----------------------------------------
About the author: Baiju M. is a testing and QA manager at Envestnet Asset Management in India. He has more than 10 years' experience in system analysis, development and testing.


Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Software Testing
Free tools for Agile testers
Recording and running software load tests with JMeter
Free Web proxy security tools software testers should get to know
Best practices for Scrum and when to apply them
How to deal with iteration issues in Agile
Five steps to fostering better software tester and QA results
How to stop developer vs. tester, quality-killing blame game
Easing software performance testing and usability modeling pressures
How to apply modeling techniques to support software testing
Calculating mean time to failure in performance testing

Software testing and quality assurance (QA) fundamentals
How to deal with iteration issues in Agile
Five steps to fostering better software tester and QA results
Software Testing: New software testing technologies bring new challenges
Testing strategies for complex environments
Astronaut's STPCon advice: Teamwork delivers "The Right Stuff"
How to make your software tamperproof
Software consortium seeks standard quality metrics
Demo: Using WebGoat, a free software testing tool
Seven steps for a quality change and configuration management program
Winning responses to "Why is QA always the bottleneck?"

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build  (SearchSoftwareQuality.com)
code review  (SearchSoftwareQuality.com)
conformance testing  (SearchSoftwareQuality.com)
error handling  (SearchSoftwareQuality.com)
garbage in, garbage out  (SearchSoftwareQuality.com)
load testing  (SearchSoftwareQuality.com)
NUnit  (SearchSoftwareQuality.com)
quality assurance  (SearchSoftwareQuality.com)
stress testing  (SearchSoftwareQuality.com)
white box  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Software Design & Testing - Project Management
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts