White Papers: Unit Testing. www.dcmtech.com. Unit Testing



Similar documents
Software Testing Interview Questions

Testing Introduction. IEEE Definitions

Improved Software Testing Using McCabe IQ Coverage Analysis

SOFTWARE REQUIREMENTS

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

Satisfying ASIL Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry


Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Static Analysis Best Practices

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

An Introduction to. Metrics. used during. Software Development

FSW QA Testing Levels Definitions

Optimization of Software Quality using Management and Technical Review Techniques

CSTE Mock Test - Part I - Questions Along with Answers

Change Request Process Overview

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

IEEE ComputerSociety 1 Software and Systems Engineering Vocabulary

Smarter Balanced Assessment Consortium. Recommendation

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Nova Software Quality Assurance Process

Network Protocol Testing Overview - InterWorking Labs

Test Specification. Introduction

Introduction to Computers and Programming. Testing

MOBILE APPLICATION TESTING ENGINEER

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Automating C/C++ Unit Testing and Coding Standard Analysis with Parasoft C++test

Test Plan (a Real Sample) SoftwareTestingHelp.com Live Project Training - OrangeHRM

Test Plan Template: (Name of the Product) Prepared by: (Names of Preparers) (Date) TABLE OF CONTENTS

Basic Unix/Linux 1. Software Testing Interview Prep

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

Basic Testing Concepts and Terminology

CS 451 Software Engineering Winter 2009

Name of chapter & details

Software Implementation Technology report

Latest Research and Development on Software Testing Techniques and Tools

Advanced Testing Techniques

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects

Testing, Debugging, and Verification

Copyright Soleran, Inc. esalestrack On-Demand CRM. Trademarks and all rights reserved. esalestrack is a Soleran product Privacy Statement

Integrated Error-Detection Techniques: Find More Bugs in Java Applications

Testing Overview and Black-Box Testing Techniques

Software Testing, Mythology & Methodologies

Software Development: The Waterfall Model

Quality Assurance - Karthik

Design of Company s Salary Management System. Lei Xiong

Test-Driven Development and Unit Testing with Parasoft Concerto

International Software Test Institute

Latest Trends in Testing. Ajay K Chhokra

Five High Order Thinking Skills

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008

System Build 2 Test Plan

Software Testing Lifecycle

Peer Review Process Description

Testing and Inspecting to Ensure High Quality

SoMA. Automated testing system of camera algorithms. Sofica Ltd

Reduce Medical Device Compliance Costs with Best Practices.

An Analysis on Objectives, Importance and Types of Software Testing

FABRICATION DRAWINGS A Paradigm Shift

Software testing. Objectives

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough?

Advancements in the V-Model

The Theory of Software Testing

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Good FORTRAN Programs

Root Cause Analysis for Customer Reported Problems. Topics

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

1 White-Box Testing by Stubs and Drivers

KMG Healthcare IT Solutions Case Studies

Quality Assurance Training Program

Automated Testing Best Practices

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

Date: December 17, 2010 Code: TECHNICAL LETTER HR/PCOS To: Human Resources Directors Response By: January 28, 2011

Peer Review Process Description

Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard

4.13 System Testing. Section 4 Bidder's Products, Methodology, and Approach to the Project System Training

Model Based Testing (MBT) J u n e

Savings Account Creation Oracle FLEXCUBE Universal Banking Release [May] [2011] Oracle Part Number E

Digital Design Verification

Presentation: 1.1 Introduction to Software Testing

Transcription:

Unit Testing

Table of Contents TESTING, VERIFICATION AND VALIDATION...1 UNIT TESTING PROCEDURES...3 C1 100% COVERAGE...3 QUERY GENERATION...4

TESTING, VERIFICATION and VALIDATION Black Box Testing White Box Testing Regression Testing Integration Testing Simulated performance Testing Acceptance Testing Specifically, DCM Technologies has had experience in Unit Testing for the Automotive industry. Unit Testing involves testing the smallest possible unit of an application. Unit testing is recognized as an essential component of the software development process. Unit testing practitioners enjoy such benefits as easier error detection, which has the very desirable end result of increasing software quality at the same time that it reduces development time and cost. Easier error reduction leads to reduced development time, effort, and cost because less time and resources are consumed finding and fixing errors. In addition, Unit testing involves several complex types of testing: White-box testing: Ensures that code is constructed properly and does not contain any hidden weaknesses. Black box testing: Ensures that code functions in the way that it is intended to function. Regression testing: Ensures that modifications do not introduce errors into previously correct code. DCM has been carrying out White-box testing for Automotive companies, it being a critical part of the automotive software. White box testing checks that code is robust by determining if it performs correctly when it encounters unexpected input. This type of testing must be performed with full knowledge of the unit's implementation details as specified in the specifications/design. The goal of white-box testing is to execute every branch of code under different input conditions to uncover any abnormal behavior. White-box test cases should uncover defects by fully exercising the code with a wide variety of inputs. To create effective white-box test cases, one needs to examine the given unit's internal structure, and then write test cases that will cover all of the code as fully as possible, and uncover inputs that will cause the unit to crash. Achieving the scope of coverage required for effective white-box testing mandates that a significant number of paths are executed. 1

WORK FLOW The workflow between the customer and DCM, for Unit Testing can be summarized below: DCM Receives Document and Code Modules Verifying Specs/Design against Code Discrepancy? Compilation of code Query Missing files? Preparation of Test cases (UnitTestPlan) Clarification Required? First level Review of test cases with input and theoretical values Is Correction Required? Stubs/ Compilation/ Testing (Execution of Test Plan) Correction and Verification Second level Review Is Correction Required? Correction and Verification Prepare Delivery Set (code, Test Plan, Test results relevant files) 2

UNIT TESTING PROCEDURES Testing is done as per the guidelines set by the customer as specified in the unit Test Manuals and customer requirements. 1. DCM receives the design, specifications and source code. 2. The Design / Specifications received are studied and analyzed. 3. Verification of the received source code against the specifications / design. 4. In case of any discrepancy/bugs, the same are reported to the customer. 5. Then the code is dummy compiled in the Test Environment provided by the customer to check for any missing files required for test plan execution 6. If any more files are required for compilation / some files are missing then again a query is raised. 7. Test cases are prepared according to design / specifications. 8. Each Test case and the items under test are documented in detail in a set format. 9. The input and the initial values are then filled in the Unit Test Plan (UTP) as per each test case & theoretical values evaluated. 10. The UTP is then reviewed by a second person (peer review); this is the first level review of UTP. 11. If any correction / bugs are reported during review then correction and verification is done at this stage only. 12. The UTP is then executed after generation of testing stubs and successful compilation in the test environment sent by the customer. 13. It means that at this level there is complete execution of unit test plan. The theoretical values are compared with actual values obtained after the execution of Test Plan. 14. Any deviations in the values of the test items are reported as NOT OK cases. 15. Second level review of UTP is done. In case bugs/ defects are reported at this stage and changes need to be made, they are made simultaneously in the UTP. 16. Final review is conducted before making delivery to the customer. Delivery set contains source code, Unit Test Plan, test results and other relevant files. C1 100% COVERAGE One of the important requirements of Unit Testing is that the test program should execute all test items in all program steps. This is specified as C1 100% coverage. To have C1 100% coverage, test plan is made such that all conditions & all possible paths are covered. Reviews are done to confirm the same and in case the compiler supports generation of profiler reports, the same are obtained to judge that 100% coverage has been made or not. 3

QUERY GENERATION Query generation is an essential process in case of offshore projects. The queries need to be systematically communicated and databases of the same needs to be maintained in order to effectively utilize the same. There is a streamlined process followed for Query generation in DCM as summarized below: Query generation for change or clarification CUSTOMER DCM Clarifications/Dis crepancy Send new Specs Document and code modules. Spec/ Code change Query generated Send Back Mail Query Closed Impact analysis Return From Query Generation Procedure for Query generation 1. If any clarifications are required about code/specification document/design a Query is generated and sent to the customer. Missing files or problems related to the test environment are also conveyed to the customer through queries. 2. Any change in specs/ code leads to new documents sent by the customer. 3. If there is no change the Query is answered by email with required answers to the clarifications. 4. Major changes can lead to changes in the delivery date schedule. In case schedules get affected, the information about the same is communicated to the customer in advance. 4