Unit 4
Unit 4
The need for Levers of Testing – Unit Test – Unit Test Planning – Designing
the Unit Tests – The Test Harness – Running the Unit tests and Recording
results – Integration tests – Designing Integration Tests – Integration Test
Planning – Scenario testing – Defect bash elimination System Testing –
Acceptance testing – Performance testing – Regression Testing –
Internationalization testing – Ad- hoc testing – Alpha, Beta Tests – Testing
OO systems – Usability and Accessibility testing – Configuration testing –
Compatibility testing – Testing the documentation – Website testing.
1
PANIMALAR INSTITUTE OF TECHNOLOGY
2
PANIMALAR INSTITUTE OF TECHNOLOGY
UNIT TESTING
3
PANIMALAR INSTITUTE OF TECHNOLOGY
The planner adds new details to the approach, resource and scheduling
portions of the unit test plan.
Eg:- Existing test cases that can be reused for this project can be
identified in the phase.
Unit availability and integration scheduling information should be
included in the revised version of the test plan.
Planner must be sure to include a description of how test results will be
recorded.
Test related documents that will be required for this task eg. test logs, test
incidents report should be described.
The harness consist of drivers that call the target code and stubs that
represent modules it calls.
The development of drivers and stubs requires testing resources. The
drivers and stubs must be tested themselves to insure they are working
properly and that they are reusable for subsequent releases of the software
Drivers and stubs can be developed at several levels of functionality
Eg:- a driver could have the following options and combinations of
options:
i. Call the target unit
ii. Do 1, and pad pass input parameters from the table
iii. Do 1,2, and display parameters
iv. Do 1,2,3 and display result (output parameters)
The stub should also exhibit different levels of functionality. For example a
stub could
i. Display a message that it has been called the target
unit
ii. Do1, and display any input parameters passes from the
target units
iii. Do1,2, and pass back result from a table
iv. Do1,2,3 and display result from table
8
PANIMALAR INSTITUTE OF TECHNOLOGY
INTEGRATION TESTING
Testing the interaction between the modules and interaction with other
systems externally.
Integration Test-Goals
Integration test for procedural code has two major goals:
i. To detect defects that occur on the interfaces of units
ii. To assemble the individual unit into working subsystem and finally
a complete system that is ready for system test.
In unit test the tester attempts to detect defects that are related to the
functionality and structure of the unit.
Integration test should only be performed on unit that have been
reviewed and have successfully passed unit testing.
Integration testing works best as an iterative process procedural oriented
system.
One unit at a time integrated into a set of previously integrated modules
which have passed a set of integration tests.
The interface and functionality of the new unit is combination with the
previously integrated units is tested
When a subsystem is built from units integrated in the stepwise manner,
then performance, security and stress test can be performed in this
subsystem.
9
PANIMALAR INSTITUTE OF TECHNOLOGY
Since many error occur at module interfaces, test designers need to focus
on exercising all input/output parameter pairs and all calling relationships
The tester needs to insure the parameters are of the correct type and in the
correct order.
10
PANIMALAR INSTITUTE OF TECHNOLOGY
Some black box test used for module integration may be reusable from
unit testing.
When units are integrated and subsystems are to be tested as a whole,
new tests will a have to be designed to cover the functionality tests at the
integration level are the requirements document and the user manual.
Tester need to work with requirement analyst to insure that the
requirements are testable, accurate and complete.
Black Box tests should be developed to insure proper functionally and
ability to handle subsystem stress.
Integration Testing of clusters of classes also involves building test
harness which in this case are special classes of objects built for testing
In class testing we evaluated intra class method interaction, and at the
cluster level we test inter class method interaction as well
We want to insure that message are being passed properly to interfacing
objects, object state transition are correct when specific events occur , and
that the cluster are performing their required functions.
11
PANIMALAR INSTITUTE OF TECHNOLOGY
12
PANIMALAR INSTITUTE OF TECHNOLOGY
Top-Down Integration:
Integration Testing involves testing the topmost component
interface with other components in same order as you navigate from top to
bottom, till we cover all the components.
To understand this methodology, we will assume that a new product/
software development where components become available one after another in
the order of component number specified .The integration starts with testing the
interface between Component 1 and Component 2 .To complete the integration
testing all interfaces mentioned covering all the arrows, have to be tested
together. The order in which the interfaces are to be tested is depicted in the
table below. In an incremental product development, where one or two
components gets added to the product in each increment, the integration testing
methodology pertains to only those new interfaces that are added .
Components 1
13
PANIMALAR INSTITUTE OF TECHNOLOGY
6 1-3-6-(3-7)
7 (1-2-5)-(1-3-6-(3-7))
8 1-4-8
9 (1-2-5)-(1-3-6-(3-7))-(1-4-8)
Bottom-Up Integration:-
Bottom-up integration is just the opposite of top-down integration, where
the components for a new product development become available in
reverse order, starting from the bottom.
Testing takes place from the bottom of the control flow upwards.
Components or systems are substituted by drivers.
Logic Flow is from top to bottom and integration path is from bottom to top.
Navigation in bottom-up integration starts from component 1 converting all sub
systems , till components 8 is reached. The order is listed below. The number of
steps in the bottom up can be optimized into four steps.
By combining step2 and step3 and by combining step 5-8 in the previous table.
Component 8
14
PANIMALAR INSTITUTE OF TECHNOLOGY
Integration:
Bi directional integration is a combination of the top-down and
bottom –up integration approaches used together to derive integration
steps.
This approach is also called as “Sandwich Integration”.
Component 1
Component 6 Component 8
Component 7
15
PANIMALAR INSTITUTE OF TECHNOLOGY
2 7-3-4
3 8-5
4 (1-6-2)-(1-7-3-4)-(1-
8-5)
System Integration:
System Integration means that all the components of the system are
integrated and tested as a single unit.
Integration testing, which is testing of interface, can be divided into two types:-
Components or Sub-System Integration
Final Integration testing or system Integration
Big bang Integration is deal for a product where the interfaces are stable
with less number of defects.
16
PANIMALAR INSTITUTE OF TECHNOLOGY
SCENARIO TESTING
Scenario testing is defined as a “set of realistic user activities that are
used for evaluating the products” .It is also defined as testing involving
customer scenarios.
There are two methods to evolve scenario
1. System Scenario
2. Use case Scenario/ Role Based Scenarios.
System Scenario:-
System Scenario is a method where by the set of activities used for scenario
testing covers several components in the system.
The following approaches can be used to develop system scenarios.
Story-line:
Develop a story-line that combines various activities of the product
Life-cycle / state transitions:
Consider an object, derive the different transitions / modification that happen to
the object and derive scenarios to cover them
Deployment / implementation details from customer:
Develop a scenario from a known customer Deployment / implementation
details and create a set of activities by various users in that implementation
17
PANIMALAR INSTITUTE OF TECHNOLOGY
Business verticals:
Visualizing how a product / software will be applied to different business
verticals and create a set of activities as scenarios (e.g., insurance, life sciences)
Battle-ground scenarios:
Create some scenarios to justify “the product works” and some scenarios to “try
and break the system” to justify “the product doesn’t work.”
Example:-
The scenario below is an example of withdrawing a cash from a bank. A
customer fills up a cheque and gives it to an official in the bank. The
official verifies the balance in the account from the computer and gives
the required cash to the customer .The customer in this example is a
actor, the clerk the agent , and the response given by the computer which
gives the balance in the account , is called the system response.
.
Agent
Actor
Qu
Cheque ery
.
System
Response
.
se
Cash es pon
R
18
PANIMALAR INSTITUTE OF TECHNOLOGY
Actor and System Response in Use Case for ATM cash withdrawal
DEFECT BASH
• Defect bash is an ad hoc testing, done by people performing different
roles to bring out all types of defects.
• It is very popular among application development companies, where the
products can be used by people who perform different roles.
• The testing by all the participants during the defect bash is not based on
written test cases.
• Defect bash brings together plenty of good practices that are popular in
testing industry. They are as follows :-
1. Enabling people to “cross boundaries and test beyond assigned
area”
2. Bringing different people performing different roles together in the
organization for testing - “Testing isn’t for testers alone”
3. Let everyone in organization use the product before delivery -
“Eat your own dog food”
19
PANIMALAR INSTITUTE OF TECHNOLOGY
SYSTEM TESTING
System Test- The Different Types
When integration tests are completed, a software system has been
assembled and its major subsystems have been tested.
System test planning should begin at the requirement based (black box)
test.
System test planning is a complicated task. There are many components
of the plan that need to be prepared such as test approaches, costs,
schedules, test cases and test procedures.
System testing itself requires large amount of resources.
The goal is to ensure that the system performs according to its
requirements.
System test evaluates both functional behavior and quality
requirement such as reliability, usability, performance and security.
21
PANIMALAR INSTITUTE OF TECHNOLOGY
22
PANIMALAR INSTITUTE OF TECHNOLOGY
23
PANIMALAR INSTITUTE OF TECHNOLOGY
FUNCTIONAL TESTING
Functional tests at system level are used to ensure that the behavior
of the system adheres to the requirements specification.
All functional requirements for the system must be achievable by the
system.
For example , if a personal finance system is required to allow users to set
up account, add, modify and delete entries in the accounts, and print
reports, the function based system and acceptance test must ensure that
the system can perform these tasks
Functional test are black box in nature
The focus is on the inputs and proper output for each function
Improper and illegal inputs must also be handled by the system
System behavior under the latter circumstances.
24
PANIMALAR INSTITUTE OF TECHNOLOGY
PERFORMANCE TESTING
The goal of system performance tests is to see if the software meets
performance requirements.
Confirms whether there are any hardware or software factors that
impact on the systems requirement.
Resources for the performance testing must be allocated in the
system test plan
There are two major requirements:
Functional Requirement: Users describe what function the software should
perform. We test for compliance of these requirements at the system level
with the functional based system test.
Quality Requirement:- There are nonfunctional in nature but describes
quality levels expected for the software. One example of a quality
requirement is performance level, the users may have objectives for the
software system in terms of memory use, response time, throughput and
delays
Performance testing allows the testers to tune the system, ie to optimize
the allocation of system resource.
Performance objectives must be articulated clearly by the users/client in
the requirement documents , and stated clearly in the system test plans
25
PANIMALAR INSTITUTE OF TECHNOLOGY
26
PANIMALAR INSTITUTE OF TECHNOLOGY
STRESS TESTING
The goal of stress test is to try to break the system; find the
circumstance which it will crash, this is sometimes called “breaking
the system”.
Stress testing often uncovers race conditions, deadlocks
The goal of stress test is to try to break the system; find the
circumstance which it will crash, this is sometimes called “breaking
the system”.
Stress testing is important because it can reveal defects in real time
and other types of systems, as well as weak areas where poor design
could cause unavailability of services.
Stress testing often uncovers race conditions, deadlocks, depletion of
resource in unusual or un planned patterns, and upset in normal
operation of the software system.
System limits and threshold values are exercised
27
PANIMALAR INSTITUTE OF TECHNOLOGY
CONFIGURATION TESTING
Allows testers to evaluate system performance and availability when
hardware exchanges and reconfigurations occur.
To test the software using configuration testing, many resources such as
multiple hardware devices are needed
Software Systems interact with hardware devices such as disc drivers,
tape drivers and printers. Many Software system also interact with
multiple CPU some of which are redundant
Eg:- a printer of type X should be substitutable for a printer of type Y,
CPU A should be removable from a system composed of several other
CPUs
Sensor A should be replaced with Sensor B
Configuration testing has the following objectives
i. Show that all configuration changing commands and menus
work properly
ii. Show that all interchangeable and that they each enter the
proper states for the specified conditions
iii. Shows that the system performance level is maintained
when devices are interchanged, or when they fail
Several types of operations should be performed during configuration
test, some sample operations for tester are:-
a. Rotate and Permutate the position of devices to ensure
physiological/logical device permutations work for each device
28
PANIMALAR INSTITUTE OF TECHNOLOGY
SECURITY TESTING
Security testing is a process used to reveal defects in the security
mechanisms of a software system
Computer Software and data can be compromised by
i. Criminals, intent on doing damages, stealing data and information,
causing denial of service , invading privacy
ii. Errors on the part of honest developers/ maintainers who modify,
destroy or compromise data because of misinformation ,
misunderstanding , and/or lack of knowledge
Attacks can be random or systematic.
Damage can be done through various means such as:-
a. Viruses
b. Trojan Horses
c. Trap Doors
d. Illicit channels
The effect of security breaches could be extensive and can cause
Loss of information
Corruption of information
Privacy violations
Denial of service
29
PANIMALAR INSTITUTE OF TECHNOLOGY
RECOVERY TESTING
Recovery testing is a type of nonfunctional testing technique
performed in order to determine how quickly the system can recover
after it has gone through system crash or hardware failure
Recovery testing is especially important for transaction system
Eg:- on line banking software
Beizer advises that tester focus on the following areas during recovery
testing
Restart:- The current system state and transaction state are
discarded The most recent checkpoint record retrieved an d the
system initialized to the state in the checkpoint record. Tester must
insure that all transaction have been reconstructed correctly and
that all devices are in proper state. The system should then be able
to begin to process new transaction
Switchover:- The ability of the system to switch to a anew
processor must be tested .Switch over is the result of a command or
detection of faulty processor by a monitor
All transaction and processes must be carefully examined to detect:-
Loss of transaction
Merging of transaction
Incorrect Transactions
An unnecessary duplication of transaction
REGRESSION TESTING
Regression testing is retesting of software that occur when changes
are made to ensure that new version of the software has retained the
capability of the old version and no new defects has been introduced
due to the changes.
31
PANIMALAR INSTITUTE OF TECHNOLOGY
32
PANIMALAR INSTITUTE OF TECHNOLOGY
Dev. team
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Build 1 Build 2 Build 3 Build 4 Build 5 Build 6
Features
Features
Features
New
New
New
Test team
test Cycle 1 Reg. 1 test Cycle 2 Reg. 2 test Cycle 3 Final
Reg.
Time line
33
PANIMALAR INSTITUTE OF TECHNOLOGY
Types
Regular regression
Final regression
ACCEPTANCE TESTING
After the software has passed all the system tests and defect repairs have
been made, the users take a more active role in the testing process.
Developers/testers must keep in mind that the software is being
developed to satisfy the users requirements, and no matter how elegant its
design it will not be accepted by the users unless it helps them to achieve
their goals as specified in the requirements.
Alpha, beta, and acceptance tests allow users to evaluate the software in
terms of their expectations and goals.
When software is being developed for a specific client, acceptance
tests are carried out after system testing.
The acceptance tests must be planned carefully with input from the
client/users. Acceptance test cases are based on requirements.
The user manual is an additional source for test cases. System test cases
may be reused. The software must run under real-world conditions on
operational hardware and software. The software-under-test should be
stressed.
34
PANIMALAR INSTITUTE OF TECHNOLOGY
35
PANIMALAR INSTITUTE OF TECHNOLOGY
INTERNATIONALIZATION TESTING
Internationalization (I18n) is used as an umbrella term to mean all activities that
are required to make the software available for international market.
(18 is used to mean that there are 18 characters between “I” and the last “n” in
the word Internationalization.
The testing that is done in various phases to ensure that all those activities are
done right is called internationalization testing or I18n testing.
Test Phases for Internationalization Testing:
37
PANIMALAR INSTITUTE OF TECHNOLOGY
The testing for internationalization is done in multiple phases in the project life
cycle.
Some important aspects of internationalization testing are:
a. Testing the code for how it handles input, strings, and sorting items
b. Display of messages for various languages and
c. Processing of messages for various languages and conventions
1. Enabling Testing:
Enabling testing is a white box testing methodology, which is done to ensure
that the source code used in the software allows internationalization.
An activity of code review or code inspection mixed with some test cases
for unit testing, with an objective to catch I18n defects is called enabling
testing.
Enabling testing uses a checklist. Some items to be kept in the review
checklist for enabling testing are as follows:
• Check the code for APIs/function calls that are not part of the I18n.
38
PANIMALAR INSTITUTE OF TECHNOLOGY
• Check the code for hard-coded date, currency formats, ASCII code, or
character constants.
• Ensure that adequate size is provided for buffers and variables to contain
translated messages.
2. Locale Testing:
Once the code is verified for I18n and the enabling test is completed, the next
step is to validate the effects of locale change in the product.
A local change affects date, currency format, and the display of items on screen,
in dialog boxes and text.
Changing the different locales using the system settings or environment
variables, and testing the software functionality, number, date, time and
currency format is called locale testing.
Some of the items to be checked in locale testing are as follows:
1. All features that are applicable to I18n are tested with different locales of the
software for which they are intended.
2. Function keys and help screens are tested with different applicable locales.
3. Date and time format are in line with the defined locale of the language.
4. Time zone information and daylight saving time calculations are consistent
and correct.
3. Internationalization Validation:
I18n validation is different from I18n testing. I18n testing is the superset of all
types of testing.
I18n validation is performed with the following objectives.
a. The software is tested for functionality with ASCII and European
Characters.
b. The software handles string operations, sorting, sequence operations as per
the language and characters selected.
c. The software display is consistent with characters which are non-ASCII in
GUI and menus.
39
PANIMALAR INSTITUTE OF TECHNOLOGY
40
PANIMALAR INSTITUTE OF TECHNOLOGY
The following items in the checklist can be used for fake language testing.
a. Ensure software functionality is tested for atleast one of the European
single-byte fake language.(Latin)
b. Ensure software functionality is tested for atleast one double-byte language
(Roman)
5. Language Testing:
Language testing focuses on testing the English product with a global
environment of products and services functioning in non English.
It is the short form of “language compatibility testing”.
This ensure that software created in English can work with platforms and
environments that are English and Non-English.
The figure above illustrates the language testing and various combinations of
locales that have to be tested in client-server architecture.
While testing, it is important to look for locale-related issues, as some of the
defects that escaped from locale testing may show up in this testing.
41
PANIMALAR INSTITUTE OF TECHNOLOGY
42
PANIMALAR INSTITUTE OF TECHNOLOGY
ADHOC TESTING
Testing done without using any formal testing technique is called adhoc
testing.
2. Pair Testing:
44
PANIMALAR INSTITUTE OF TECHNOLOGY
3. Exploratory Testing:
Exploratory testing is a technique to find defects by exploring the product,
covering more depth and breadth.
It can be done during any phase of testing.
Exploratory testers may execute their tests based on their past experiences in
testing a similar product.
Since there is large creative element to exploratory testing, similar test cases
may result in different kinds of defects when done by two different
individuals.
Exploratory test techniques are:
a. Guesses
b. Architecture diagram, use cases
c. Past defects
d. Error Handling
e. Discussions
f. Questions and checklists.
4. Iterative Testing:
In an iterative model, the requirements keep coming and the product
is developed iteratively for each requirement. The testing associated
with this process is called iterative testing.
Regression tests may be repeated at least every alternative iteration so
that the current functionality is preserved.
Since iterative testing involves repetitive test execution of tests that
were run for the previous iterations, it becomes a tiresome exercise
for the testers.
5. Agile and Extreme Testing:
Agile and extreme models take the processes to the extreme to ensure
that customer requirements are met in timely manner.
45
PANIMALAR INSTITUTE OF TECHNOLOGY
The testing that validates the ease of use, speed, and aesthetics of the
product from the users’ point of view is called usability testing.
A right approach for usability is to test every artifact that impacts users – such
as product binaries, documentation, messages, media-covering usage patterns
through both graphical and command user interfaces as applicable.
Usability testing can be done is two phases:
1. Design validation Phase
2. Component and integration testing phase.
Usability design is verified through several means. Some of them are as
follows:
a. Style sheets
b. Screen prototypes
c. Paper designs
d. Layout Design.
46
PANIMALAR INSTITUTE OF TECHNOLOGY
ACCESSIBILITY TESTING:
If the software has been developed for the mass market, then testing it for
individual clients/users is not practical in most cases. Very often this type of
software undergoes two stages of acceptance test.
48
PANIMALAR INSTITUTE OF TECHNOLOGY
The first is called alpha test. This test takes place at the developer’s site.
A cross-section of potential users and members of the developer’s organization
are invited to use the software. Developers observe the users and note problems.
BETA TESTING
Beta test sends the software to a cross-section of users who install it and
use it under real world working conditions. The users send records of problems
with the software to the development organization where the defects are
repaired sometimes in time for the current release.
The goal of beta testing is to place your application in the hands of real
users outside of your own engineering team to discover any flaws or issues from
the user’s perspective that you would not want to have in your final, released
version of the application.
49
PANIMALAR INSTITUTE OF TECHNOLOGY
You have the opportunity to get your application into the hands of users
prior to releasing it to the general public.
Users can install, test your application, and send feedback to you during
this beta testing period.
Your beta testers can discover issues with your application that you may
have not noticed, such as confusing application flow, and even crashes.
Using the feedback you get from these users, you can fix problems before
it is released to the general public.
The more issues you fix that solve real user problems, the higher the
quality of your application when you release it to the general public.
Having a higher-quality application when you release to the general
public will increase customer satisfaction.
These users, who are early adopters of your application, will generate
excitement about your application.
WEBSITE TESTING
Website Testing is checking your web application for potential bugs
before its made live or before code is moved into the production
environment.
Some or all of the following testing types may be performed depending
on your web testing requirements.
1.Functionality Testing:
This is used to check if your product is as per the specifications you
intended for it as well as the functional requirements you charted out for
it in your developmental documentation.
Testing Activities Included:
Test all links in your webpages are working correctly and make sure there are
no broken links.
50
PANIMALAR INSTITUTE OF TECHNOLOGY
It can be carried out by testers like you or a small focus group similar to the
target audience of the web application.
Test the site Navigation:
Menus, buttons or Links to different pages on your site should be easily visible
and consistent on all webpages
Test the Content:
Content should be legible with no spelling or grammatical errors.
Images if present should contain an "alt" text
2.Interface Testing:
Three areas to be tested here are - Application, Web and Database Server
Application: Test requests are sent correctly to the Database and output at the
client side is displayed correctly. Errors if any must be caught by the application
and must be only shown to the administrator and not the end user.
Web Server: Test Web server is handling all application requests without any
service denial.
Database Server: Make sure queries sent to the database give expected results.
3.Database Testing:
Database is one critical component of your web application and stress must be
laid to test it thoroughly. Testing activities will include-
Test if any errors are shown while executing queries
Data Integrity is maintained while creating, updating or deleting data in
database.
Check response time of queries and fine tune them if necessary.
Test data retrieved from your database is shown accurately in your web
application
4.Compatibility testing.
51
PANIMALAR INSTITUTE OF TECHNOLOGY
Compatibility tests ensures that your web application displays correctly across
different devices. This would include-
Browser Compatibility Test: Same website in different browsers will display
differently. You need to test if your web application is being displayed correctly
across browsers, JavaScript, AJAX and authentication is working fine. You may
also check for Mobile Browser Compatibility.
5.Performance Testing:
This will ensure your site works under all loads.
6. Security testing:
Security Testing is vital for e-commerce website that store sensitive customer
information like credit cards. Testing Activities will include-
Test unauthorized access to secure pages should not be permitted
Restricted files should not be downloadable without appropriate access
TESTING OO SYSTEMS
Testing is a continuous activity during software development. In object-
oriented systems, testing encompasses three levels, namely, unit testing,
subsystem testing, and system testing.
Unit Testing
In unit testing, the individual classes are tested.
Smallest testable unit is the encapsulated class
It is seen whether the class attributes are implemented as per design and whether
the methods and the interfaces are error-free. Unit testing is the responsibility of
the application engineer who implements the structure.
Subsystem Testing
This involves testing a particular module or a subsystem and is the
responsibility of the subsystem lead. It involves testing the associations within
52
PANIMALAR INSTITUTE OF TECHNOLOGY
the subsystem as well as the interaction of the subsystem with the outside.
Subsystem tests can be used as regression tests for each newly released version
of the subsystem.
System Testing
System testing involves testing the system as a whole and is the responsibility
of the quality-assurance team. The team often uses system tests as regression
tests when assembling new releases.
Object-Oriented Testing Techniques
Grey Box Testing
The different types of test cases that can be designed for testing object-oriented
programs are called grey box test cases. Some of the important types of grey
box testing are:
State model based testing : This encompasses state coverage, state transition
coverage, and state transition path coverage.
Use case based testing : Each scenario in each use case is tested.
Class diagram based testing : Each class, derived class, associations, and
aggregations are tested.
Sequence diagram based testing : The methods in the messages in the
sequence diagrams are tested.
Techniques for Subsystem Testing
The two main approaches of subsystem testing are:
Thread based testing : All classes that are needed to realize a single use case in
a subsystem are integrated and tested.
Use based testing : The interfaces and services of the modules at each level of
hierarchy are tested. Testing starts from the individual classes to the small
modules comprising of classes, gradually to larger modules, and finally all the
major subsystems.
53
PANIMALAR INSTITUTE OF TECHNOLOGY
54