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
 

Types and Levels of Testing in Programming

By Exforsys | on October 2, 2006 |
Concepts

Types and Levels of Testing in Programming

Testing is an important step in software development life cycle. The process of testing takes place at various stages of development in programming. This is a vital step in development life cycle because the process of testing helps to identify the mistakes and sends the program for correction.

This process gets repeated at various stages until the final unit or program is found to be complete thus giving a total quality to the development process. The various levels and types of testing found in a software development life cycle are:

White Box Testing
For doing this testing process the person have to access to the source code of the product to be tested. So it is essential that the person doing this white box testing have some knowledge of the program being tested. Though not necessary it would be more worth if the programmer itself does this white box testing process since this testing process requires the handling of source code.

Black Box Testing
This is otherwise called as functional testing. In contrary to white box testing here the person who is doing the black box testing need not have the programming knowledge. This is because the person doing the black box testing would access the output or outcomes as the end user would access and would perform thorough functionality testing to check whether the developed module or product behaves in functionality in the way it has to be.

Unit Testing
This testing is done for each module of the program to ensure the validity of each module. This type of testing is done usually by developers by writing test cases for each scenarios of the module and writing the results occurring in each step for each module.

Regression testing
We all know that development life cycle is subjected to continuous changes as per the requirements of user. Suppose if there is a change in the existing system which has already been tested it is essential that one has to make sure that this new changes made to the existing system do not affect the existing functionality. For ensuring this regression testing is done.

Integration testing
By making unit testing for each module as explained above the process of integrated testing as a whole becomes simpler. This is because by correcting mistakes or bugs in each module the integration of all units as a system and testing process becomes easier. So one might think why the integration is testing needed. The answer is simple. It is needed because unit testing as explained test and assures correctness of only each module. But it does not cover the aspects of how the system would behave or what error would be reported when modules are integrated. This is done in the level of integration testing.

Smoke Test
This is also called as sanity testing. This is mainly used to identify environmental related problems and is performed mostly by test manager. For any application it is always necessary to have the environment first checked for smooth running of the application. So in this testing process the application is run in the environment technically called as dry run and checked to find that the application could run without any problem or abend in between.

Alpha Testing
The above different testing process described takes place in different stages of development as per the requirement and needs. But a final testing is always made after a full finished product that is before it released to end users and this is called as alpha testing. The alpha testing involves both the white box testing and black box testing thus making alpha testing to be carried out in two phases.

Beta Testing
This process of testing is carried out to have more validity of the software developed. This takes place after the alpha testing. After the alpha phase also the generally the release is not made fully to all end users. The product is released to a set of people and feedback is got from them to ensure the validity of the product. So here normally the testing is being done by group of end users and therefore this beta testing phase covers black box testing or functionality testing only.

Having seen about testing levels and types let us now see how the testing process takes place in general. After getting an idea of what all to be tested by communicating with developers and others in the design phase of the software development life cycle the testing stage carries on parallel. Test plan is made ready during the planning stage of testing. This test plan has details like environment of setting like software, hardware, operating system used, the scope and limitation of testing, test type and so on. In the next phase the test case is prepared which has details of each step for module to be checked, input which can be used for each action are described and recorded for testing. It also has details about what is the expected outcome or expected result of each action .The next phase is the actual testing phase. In this phase the testers make testing based on the test plan and test case made ready and record the output or result resulting from each module. Thus the actual output is recorded .Then a report is made to find the error or defect between expected outcome and actual output in each module in each step. This is sent for rework for developers and testing cycle again continues as above.

It does not mean that the system released is bug free or error free hundred percent. This is because no real system could have null percentage error. But an important point to bear in mind is that a system developed is a quality system only if the system could run for a period of time after its release without error and after this time period only minimal errors are reported. For achieving this testing phase plays an essential role in software development life cycle.

« « PHP Tutorials – Loops
Duties and Responsibilities of Air Traffic Controllers » »

Author Description

Avatar

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

Free Training

RSSSubscribe 391 Followers
  • Popular
  • Recent
  • Table space – Important concept of Database

    October 12, 2006 - 0 Comment
  • Software Development Life Cycle

    October 12, 2006 - 0 Comment
  • Important Terminologies used in Database

    October 16, 2006 - 0 Comment
  • Semaphore in UNIX – An Overview

    October 16, 2006 - 0 Comment
  • ISPF – Know about it

    October 17, 2006 - 0 Comment
  • Features of OOP

    October 22, 2006 - 0 Comment
  • Multiple Virtual Storage (MVS)

    October 22, 2006 - 0 Comment
  • Structured Query Language (SQL) – Basic Concepts

    November 8, 2006 - 0 Comment
  • Quality Aspects to Check While Writing COBOL Program

    October 23, 2006 - 0 Comment
  • Debugging – An Important Aspect in Programming

    August 31, 2006 - 0 Comment
  • Structured Query Language (SQL) – Basic Concepts

    November 8, 2006 - 0 Comment
  • Pros and cons of client/server computing

    October 25, 2006 - 0 Comment
  • Quality Aspects to Check While Writing COBOL Program

    October 23, 2006 - 0 Comment
  • Multiple Virtual Storage (MVS)

    October 22, 2006 - 0 Comment
  • Features of OOP

    October 22, 2006 - 0 Comment
  • ISPF – Know about it

    October 17, 2006 - 0 Comment
  • Important Terminologies used in Database

    October 16, 2006 - 0 Comment
  • Semaphore in UNIX – An Overview

    October 16, 2006 - 0 Comment
  • Software Development Life Cycle

    October 12, 2006 - 0 Comment
  • Table space – Important concept of Database

    October 12, 2006 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Structured Query Language (SQL) – Basic Concepts
  • Pros and cons of client/server computing
  • Quality Aspects to Check While Writing COBOL Program
  • Multiple Virtual Storage (MVS)
  • Features of OOP

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
© 2023. 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.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT