copy of out-lineofmyppt

31
DESIGN AND DEVELOPMENT OF AUTOMATION FRAMEWORK FOR TESTING OF ICMMS Internship : Verisign Inc., (now Syniverse) BY VENKATA VINEEL YALAMARTHY BS Computer Science BIRLA INSTITUTE OF TECH. AND SCIENCES PILANI

Upload: venkata-vineel

Post on 15-Aug-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

DESIGN AND DEVELOPMENT OF AUTOMATION FRAMEWORK  FOR TESTING OF ICMMS

Internship : Verisign Inc., (now Syniverse)

BYVENKATA VINEEL YALAMARTHYBS Computer ScienceBIRLA INSTITUTE OF TECH. AND SCIENCESPILANI

 

MentorRamesh K VelampalayamSenior ManagerQuality Assurance Syniverse Inc.,Bangalore

ManagerAjith Kumar VivekEngg., ManagerSyniverse Inc.,Bangalore

Agenda● ICMMS introduction●Manual Testing●Approach for Automation●Method and Technology used●Future directions..

ICMMS● Inter Carrier Multi-Media Mobile Messaging Services● MMS– Multi-Media Messaging Service● STORE and FOREWARD messaging service ● Allows mobile subscribers to exchange multi-media

messages● Allows sending messages to multiple recipients● Depends on Mobile Phone.(Compatibility)

Challenges with MMSICMMS provides Value Added Services

●Content Adaptation●Connectivity among Carriers●Prefix-Handling●Billing

Connectivity:●Provides single point of connectivity among carriers●Reduces effort spent in Routing to a great extent

ICMMS

O(n) o(1)

represents an MMSC

Content Adaptation:●Content created by one mobile may not be

compatible with some other carrier’s mobile phones..

Eg..Image Resizing,Audio Codec Transcoding etc…

CLIENT-AMMSC-A MMSC-B CLIENT-B

JPEGTransfer

Fails

Transfer SuccefulJPEG

TIFFICMMS

prefix Handling●Normalization of MDN’S

Country Code Prefix Handling

Current Approach

● Quality Assurance Team of ICMMS -Testing Manually

● Regression-with minimal changes, the Test-cases are tested periodically

        Steps in Manual Testing

● Pick-up a test-case from Test-Link(TM)● Set-up ● Execute...involves invoking SMTP client and

sending an MM4 message ● Roll-back● Examining Log files and Data -Bases for patterns● Comparing against expected values● Report accordingly

Our approach

● Test-Repository-...Like Test-Link(TM) ● Configuration Data to hold meta-Data of file

resources and Net-work and Data Bases ● for Set-up, properties files need to be over-ridden with

the required properties ● SMTP client -To send the Message● ●

Configuration Data

● Java Home,ICMMS Home● Host, Port ● File Resources – {Path,Desc}● Data Bases {Name,Access Details, driver}● Network-Resources {Name ,Host ,Port}● Test-Plan {List of Test Cases to be executed in a particular Run}● List of Test Cases nested inside Components ,nested in List of

Categoriescategory{component…..{Test-case ID’s} }

<Config> <Java Home> </JavaHome> <ICMMS Home> </ICMMS Home> <File-Resources> <File-Resource> <Name> </Name> <id> </id> </File-Resource> <File-Resources> <Network-Resources> <Network-Resource> <Host =" " port= " " Name="SmtpServer"/> </Network-Resource> <Network-Resources> <Data-Base> <Name> </Name> <Id> </id> <UsrName> </Usrname> <Driver> </Driver> <Passwd> </Passwd> </Data-Base></Config>

<Test-Plan> <Category> <Name> </Name> <Components> <Component Name = " "> <include> 1, 4-8 ,10 </include> </Component> <Component Name= " " > <include> 2-8 </include> </Component> </Components> </Category></Test-Plan>

Test-Repository● ID (Unique Identification Number)● Desc ● State-Related Data

{Initial Properties File, Expected Properties Files}● Data Related to Validation from Files

{File name, List of Patterns ,and Tokens required, VARIABLE names to be assigned}

● Data-Related to Data – Base Validation{Data Base Name, List of SQL tasks to be performed, VARIABLE names to be assigned}

● Goals:{Variable Name, Operation, Expected Value}.

Out-Line of Test-Repository

Categories { Components { Test-Cases } }

Test-Cases<Test-Cases> <Categories> <Category Name= " " > <Components> <Component Name=" " Id=" " > <TestCase>........</TestCase> <TestCase>...... </TestCase> </Component> </Components> </Category> <Categories> </Test-Cases>

Test-case <ID> </ID> <Desc> </Desc> <Data File> MM4 message </Data File> <Override> <Initial Properties> </Initial Properties> <Final Properties> </Final Properties> </Override> <Validation> <Filevalid Name= " " > <pattern> message status </pattern> <before> : </after> <after> " </after> <assign> VARIABLE1 </assign> <Filevalid> <Databasevalid Name= " " > <SQL task> </SQL task> <assign> VARIABLE2 </assign> </Databasevalid> <Goals> </Goals>

</Validation>

Goals<Goal> <lhs> VARIABLE1 </lhs> <Op> "Greater" </Op> <rhs> 789 <rhs> </Goal><Goal> <lhs> VARIABLE2 </lhs> <Op> "=" </Op> <rhs> MESSAGE SENT </rhs></Goal><Goal> <lhs> VARIABLE3 </lhs> <Op> isContains </Op> <rhs> SPRINT, ROGERS </rhs> <Goal>

VARIABLE1 67VARIABLE2 789VARIABLE3 SENTVARIABLE4 FAILEDVARIABLE5 302

After sending the Message Log Files and Data Bases would be updatedNow these Variables are collected and assigned to the Variable names as Mentioned and Kept in a TABLE like Structure

Final Step in Automation:

Pick Up a Goal from the Test-case

Let Operation be a Function f(x)

Now Check

f(Variable) == Expected Value

if true) Test case is Validated

else Test-Case is Failed

Technology Used

● JDK 1.4 ● Apache Commons Library● XML● SQL queries

Java

●Apache tools map XML-> Java Objects●Hash-map – To Represent Table Java.util.HashMap●provides functions to manipulate Key-Value pairs●Java.Util.ArrayList is used to hold lists of test-

cases, goals etc..

Mapping of XML to Java Objects

XML JAVA OBJECTS

Example:

<student>

<Name> satyam saxena</Name>

<Id> 2006A7PS011 </Id>

<cgpa> 9.5</cgpa>

</student>

Public class Student{

private String name;

private String Id;

private long cgpa;

public getName()

public getId()

public getCgpa()

public void setName(String name)

public void setId(String id)

public void setCgpa(long cgpa)

}

loadConfig();loadTestRepository();while(there are more Categories in Test Plan){ while(there are more components in the Category){ while(there are more TestCases in the Compoenet){ TestCase t = pickUpfromTestRepository();t.setUp();t.execute();t.rollback();t.validation();t.reportTest(); }}}

PSEUDO-CODE

TEST-CASESCONFIG

AUTOMATIONRUNNER

SMTP CLIENT

SMTP SERVER

ICMMS

logfiles

test case objects

config objects

file validation

Message File

Data Base Validation

Current-Status

● Implementation and Testing of all the Individual Compoenents are over

● Task-Left: To connect an SMTP server and route an MM4 message

● Estimated Time :2 working days

Future Directions●Web-interface●Prioritization of Test-Cases

Any Questions?

Thank You