Home > Ask the Software Quality Experts > Software Testing and Quality Assurance Questions & Answers > Functional testing: Unit testing, integration testing and beyond
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Functional testing: Unit testing, integration testing and beyond

Karen N. Johnson EXPERT RESPONSE FROM: Karen N. Johnson

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 26 June 2008
Can functional testing be replaced or significantly reduced by integration testing? For example, by using a CI server?


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



RELATED CONTENT
Software integration testing
Ajax testing: Using available tools is key
Building, using tests on Microsoft Visual Studio Team System
Configuration testing: QA pros discuss 10 things you may not know
What is system integration testing?
What type of designs are needed to write integration test cases?
Who is responsible for integration testing, developer or tester?
How to develop a checklist for unit, integration and system testing
Integration testing: Is it black box or white box testing?
How to use tools for system integration testing
An approach to integration testing

Software unit testing
Software testing deliverables: Developing a software testing strategy
Evaluating the benefits of automated software testing
Adopting continuous integration brings agility, other benefits
Tools, standards address persistent quality assurance (QA) issues
Increasing productivity with unit testing
Don't write simplistic test cases
How to develop a checklist for unit, integration and system testing
Making unit testing a priority
The Art of Debugging with GDB, DDD, and Eclipse -- Ch. 1
An approach to integration testing

Functional software testing
Testing strategies for complex environments
Software Testing Ezines
Improving software testing productivity using record-playback
How to test usability for a positive user experience
Data warehouse/BI performance testing tool recommendations
Is online application testing for smartphones different from other software testing?
Why do performance testers write new scripts so often?
The case for software tester, analyst partnerships
Fixing Web application performance troubleshooting problems
Achieving peak performance in integration testing

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
continuous integration  (SearchSoftwareQuality.com)
integration testing  (SearchSoftwareQuality.com)
V-Model  (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


Unit tests are tests built by developers; unit tests are designed to test code at the smallest practical "unit" of functioning code. Tests designed to address units of code that work together are integration tests. Integration tests are also built by developers. Examples help explain so much more than definitions so let me create an example to step through.

Imagine a Web application that requires a login. To keep the example simple, let's imagine a login page that requires an account name and password. A unit test might be built to check the field length of both fields and maybe that the login button doesn't become enabled until a value of the required length is entered in both fields. An integration test, in this example, might be checking that the user views a home page after entering valid values and pressing the login button. So now let's consider the original question and think through what additional tests a functional tester might execute given the unit and integration tests that have been outlined.

Here are a few functional test ideas given this situation:

  • First a happy path confirmation test: Can a valid user enter valid values in both fields and login?
  • Followed by a process checkpoint: Once the user logs in, should there be a personalized greeting on the home page? Let's suppose "Welcome Karen" should appear. Does it appear?

Here are a few more tests:

  • Does a user who has visited the site previously have a cookie stored on the PC and if so, what information is stored in the cookie?
  • And how does having a cookie affect or not affect the login and home pages?
  • Can a user that has been inactivated log in?
  • What if a user forgets their password? Is there reset password functionality available?
  • What if the user enters an invalid value or no value in the field? What error messaging appears? Are the messages consistent with other error messages in the application?
  • What if the user has lost Internet connection and the home page has been cached in their browser? What messaging appears on an attempt to login with connection?
There are more tests I can think to execute but I'll stop here.

There are more functional tests and ideas testers can think of than developers are likely to build at either unit or integration level tests. From afar, it would seem that unit and integration tests must be enough and why spend more resources testing? But these examples hopefully illustrate that in fact, there is plenty of testing yet to be addressed through functional testing even after unit and integration testing.

Functional, integration and unit testing:
How to do integration testing

Better software through debugging and unit testing

Six functional tests to ensure software quality

Using a continuous integration server may keep unit and integration tests up to date and passing but it's still the same limited tests being executed against the code. The same would be true if automated functional tests were built -- time might be saved executing the tests but the only tests executed would be whatever tests were built. A functional tester who's engaged with the application and has unique ideas and doesn't execute testing in a mechanical rote approach will continue to find bugs.




Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Software Quality - Software Maintenance, Software Requirements, Software Standards
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