Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Effective Software Testing

By Exforsys | on January 1, 2006 |
Testing

Effective Software Testing

In this tutorial you will learn about Effective Software Testing? How do we measure ‘Effectiveness’ of Software Testing? Steps to Effective Software Testing, Coverage and Test Planning and Process.

A 1994 study in US revealed that only about “9% of software projects were successful”
A large number of projects upon completion do not have all the promised features or they do not meet all the requirements that were defined when the project was kicked off.

It is an understatement to say that –
An increasing number of businesses depend on the software for their day-to-day businesses.
Billions of Dollars change hands every day with the help of commercial software.
Lots of lives depend on the reliability of the software for example running critical medical systems, controlling power plants, flying air planes and so on.

Whether you are part of a team that is building a book keeping application or a software that runs a power plant you cannot afford to have less than reliable software.
Unreliable software can severely hurt businesses and endanger lives depending on the criticality of the application. The simplest application poorly written can deteriorate the performance of your environment such as the servers, the network and thereby causing an unwanted mess.

To ensure software application reliability and project success Software Testing plays a very crucial role.
Everything can and should be tested –

  • Test if all defined requirements are met
  • Test the performance of the application
  • Test each component
  • Test the components integrated with each other
  • Test the application end to end
  • Test the application in various environments
  • Test all the application paths
  • Test all the scenarios and then test some more

What is Effective Software Testing?

How do we measure ‘Effectiveness’ of Software Testing?
The effectiveness of Testing can be measured if the goal and purpose of the testing effort is clearly defined. Some of the typical Testing goals are:

  • Testing in each phase of the Development cycle to ensure that the “bugs”(defects) are eliminated at the earliest
  • Testing to ensure no “bugs” creep through in the final product
  • Testing to ensure the reliability of the software
  • Above all testing to ensure that the user expectations are met

The effectiveness of testing can be measured with the degree of success in achieving the above goals.

Steps to Effective Software Testing:

Several factors influence the effectiveness of Software Testing Effort, which ultimately determine the success of the Project.

A) Coverage:

The testing process and the test cases should cover

  • All the scenarios that can occur when using the software application
  • Each business requirement that was defined for the project
  • Specific levels of testing should cover every line of code written for the application

There are various levels of testing which focus on different aspects of the software application. The often-quoted V model best explains this:

The various levels of testing illustrated above are:

  • Unit Testing
  • Integration Testing
  • System Testing
  • User Acceptance Testing

The goal of each testing level is slightly different thereby ensuring the overall project reliability.

Each Level of testing should provide adequate test coverage.
Unit testing should ensure each and every line of code is tested
Integration Testing should ensure the components can be integrated and all the interfaces of each component are working correctly
System Testing should cover all the “paths”/scenarios possible when using the system

The system testing is done in an environment that is similar to the production environment i.e. the environment where the product will be finally deployed.

There are various types of System Testing possible which test the various aspects of the software application.

B) Test Planning and Process:

To ensure effective Testing Proper Test Planning is important
An Effective Testing Process will comprise of the following steps:

  • Test Strategy and Planning
  • Review Test Strategy to ensure its aligned with the Project Goals
  • Design/Write Test Cases
  • Review Test Cases to ensure proper Test Coverage
  • Execute Test Cases
  • Capture Test Results
  • Track Defects
  • Capture Relevant Metrics
  • Analyze

Having followed the above steps for various levels of testing the product is rolled.

It is not uncommon to see various “bugs”/Defects even after the product is released to production. An effective Testing Strategy and Process helps to minimize or eliminate these defects. The extent to which it eliminates these post-production defects (Design Defects/Coding Defects/etc) is a good measure of the effectiveness of the Testing Strategy and Process.
As the saying goes – ‘the proof of the pudding is in the eating‘

Summary:

The success of the project and the reliability of the software application depend a lot on the effectiveness of the testing effort. This article discusses “What is effective Software Testing?”

A link to the 1994 study called The Chaos Report

http://www.standishgroup.com/sample_research/chaos_1994_1.php

« « SQL Server 2005 – Using Database Snapshots
SQL Server 2005 – Backing up a Database » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Ads

Free Training

RSSSubscribe 417 Followers
Ads
  • Popular
  • Recent
  • QuickTest Professional 8.0 CBT Tutorial and Evaluation Copy

    April 12, 2005 - 0 Comment
  • Software Testing Myths

    November 10, 2006 - 0 Comment
  • Why Choose LoadRunner for Performance testing

    May 25, 2005 - 0 Comment
  • Software Project Planning

    December 4, 2005 - 0 Comment
  • SDLC : Software Development Life Cycle

    April 22, 2005 - 0 Comment
  • Bug Reporting – Art and Advocacy

    January 11, 2008 - 0 Comment
  • Data Driven Tests using WinRunner

    May 27, 2005 - 0 Comment
  • Software Quality Management

    December 5, 2005 - 0 Comment
  • Functional Testing Tools

    April 22, 2005 - 0 Comment
  • Database Checkpoints in WinRunner

    May 27, 2005 - 0 Comment
  • Software Testing Best Practices

    July 20, 2009 - 0 Comment
  • Bug Reporting – Art and Advocacy

    January 11, 2008 - 0 Comment
  • Software Testing Myths

    November 10, 2006 - 0 Comment
  • Challenges in Testing Web Based Applications

    June 7, 2006 - 0 Comment
  • Auditing Software Testing Process

    June 5, 2006 - 0 Comment
  • Testing for Agile Software Development

    June 4, 2006 - 0 Comment
  • What is User Acceptance Testing?

    January 27, 2006 - 0 Comment
  • System Testing: Why? What? & How?

    January 22, 2006 - 0 Comment
  • What is Regression Testing?

    January 22, 2006 - 0 Comment
  • Integration Testing: Why? What? & How?

    January 22, 2006 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Software Testing Best Practices
  • Bug Reporting – Art and Advocacy
  • Software Testing Myths
  • Challenges in Testing Web Based Applications
  • Auditing Software Testing Process

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2021. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.Accept Reject Read More
Privacy & Cookies Policy
Necessary Always Enabled