Top Banner

of 31

Test Case Phone

Apr 07, 2018

Download

Documents

Abhishek Soni
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/6/2019 Test Case Phone

    1/31

    Project NameTest case prepared byCode Developed ByInput File NamesOutput File Names

    job NameAny other Info

    Scenario Description

    Code Checks

    1 Verify that the job is correct as per the review checklist.Physical Balancing

    2 Row counts between source and target tables are matching.

    Logical Balancing

    3

    Testing of the transformation

    Scen. No.

    Column values for all the rows between source and target tablesare matching.

  • 8/6/2019 Test Case Phone

    2/31

    5 Space trimming.

    6 Case conversion.

    7 Date transform8 NVL check.

    Testing of all the functions/procedures defined9

    10 The return value of the function is correctly captured.11 Function body is behaving correctly as per the logic.

    Testing of the ABC table entries12 Check the entries for the job in JOB_INFO table.

    13

    14

    Testing of Target Duplicates

    Correct number and correct datatype parameters are passed tothe function call.

    Check the entries for the target table in ABC_TABLE_FILEStable.

    Check the entries for the job execution in ABC_JOB_STATStable.

  • 8/6/2019 Test Case Phone

    3/31

    15

    Testing of Source Duplicates16

    17 All 3 date in target should be proper

    18 Test for hard coded data

    19 Incremental load

    Execute the procedure twice with same sample data.. Checkwhether data getting inserted twice into target.

    check for duplicates in the source stage table. Check how theduplicates are getting inserted into target

  • 8/6/2019 Test Case Phone

    4/31

    20 Updated rows

  • 8/6/2019 Test Case Phone

    5/31

  • 8/6/2019 Test Case Phone

    6/31

    Generalized query if any

    NA

    NA

  • 8/6/2019 Test Case Phone

    7/31

    SELECT DISTINCT 'SELECT COUNT(1) AS CNT FROM '|| TABNAME||' WHERE' AS SLECTSTMTFROM SYSCAT.COLUMNS WHERE TABNAME ='< TABLE_NAME>'UNIONSELECT 'OR LENGTH(TRIM('||COLNAME||'))LENGTH('||COLNAME||')'FROM SYSCAT.COLUMNS WHERE TYPENAME='VARCHAR' ANDTABNAME =''

    ##select count(1) UPR_CASE_CNT from < TABLE_NAME> where (select 'UPPER('||COLNAME||')' ||COLNAME ||' OR 'FROM SYSCAT.COLUMNSwhere TABNAME ='LOYALTY_PHONE_TEST'and TYPENAME='VARCHAR'####')'

  • 8/6/2019 Test Case Phone

    8/31

    NA

    NA

    NA

    NA

    NA

  • 8/6/2019 Test Case Phone

    9/31

    ###############################FOR UPDATE on record set######update COMMON_STAGE SETselect COLNAME||'= ''XYZ''||'||COLNAME||' , 'FROM SYSCAT.COLUMNSwhere TABNAME ='COMMON_STAGE'and TABSCHEMA='UCDSTG'and TYPENAME='VARCHAR'and COLNAME not in('SOURCE_SYST','ACCOUNT_KEY','ACCOUNT_TYPE_ID')####where SOURCE_SYSTEM='LOYALTY' and####ACCOUNT_KEY='126049956'and ACCOUNT_TYPE_ID='3'

    =====================================================#####################################ROLL BACK the changes####### update COMMON_STAGE SETselect COLNAME||'= substr('||COLNAME||',4) , 'FROM SYSCAT.COLUMNSwhere TABNAME ='COMMON_STAGE'and TABSCHEMA='UCDSTG'and TYPENAME='VARCHAR'and COLNAME not in('SOURCE_SYST','ACCOUNT_KEY','ACCOUNT_TYPE_ID')--where SOURCE_SYSTEM='LOYALTY' andACCOUNT_KEY='126049956'and ACCOUNT_TYPE_ID='3'

  • 8/6/2019 Test Case Phone

    10/31

  • 8/6/2019 Test Case Phone

    11/31

    Test CasesWU UCD

    NANALYT_PHONE_COMMOMNO

    Condition Description

    Does the JOB development followed all the standards, applicable checks as mentioned in the Review checklist document

    Abhishek SoniAbhishek Soni

    Query for Target countSelect count(1) TAR_CNT from(select distinct ACCOUNT_ID,ACCOUNT_TYPE_ID from LOYALTY_PHONE_TEST)a

    Query for Source Countselect count(1) SRC_CNT from(select distinct SOURCE_SYSTEM,ACCOUNT_KEY,ACCOUNT_TYPE_ID from COMMON_STAGE

    where (PHONE_NUMBER1 is not null or PHONE_NUMBER2 is not null or PHONE_NUMBER3 is not null or PHONE_NUMBER4 is not null )

    )a

    QUERY FOR TARGET RECORDS

    select count(*) TAR_NO_OF_PHONE_NUMfrom( select ACCOUNT_ID,ACCOUNT_TYPE_ID from LOYALTY_PHONE_TEST where PHONE_NUMBER is not null )A

    QUERY FOR SOURCE RECORDS

    select sum(b.cnt) SRC_NO_OF_PHONE_NUM from(select count(*) cnt from ( select ACCOUNT_KEY,ACCOUNT_TYPE_ID from UCDSTG.COMMON_STAGE where PHONE_NUMBER1 isnot null )Aunionselect count(*)+1 cnt from ( select ACCOUNT_KEY,ACCOUNT_TYPE_ID from UCDSTG.COMMON_STAGE where PHONE_NUMBER2is not null )Aunionselect count(*)+2 cnt from ( select ACCOUNT_KEY,ACCOUNT_TYPE_ID from UCDSTG.COMMON_STAGE where PHONE_NUMBER3is not null )Aunionselect count(*)+3 cnt from ( select ACCOUNT_KEY,ACCOUNT_TYPE_ID from UCDSTG.COMMON_STAGE where PHONE_NUMBER4is not null )A)b

  • 8/6/2019 Test Case Phone

    12/31

    Request you to please provide the required format like (MM/DD/YYYY HH24:MM:SS) or other ?

    Check whether leading and trailing spaces are getting trimmed for population.

    SELECT COUNT(1) AS SPACE_CNT FROM LOYALTY_PHONE_TEST WHERELENGTH(TRIM(ACCOUNT_TYPE_ID))LENGTH(ACCOUNT_TYPE_ID)OR LENGTH(TRIM(CREATED_DATE))LENGTH(CREATED_DATE)OR LENGTH(TRIM(DELETED_DATE))LENGTH(DELETED_DATE)OR LENGTH(TRIM(ISD_CODE))LENGTH(ISD_CODE)OR LENGTH(TRIM(PHONE_COUNTRY_ISO2))LENGTH(PHONE_COUNTRY_ISO2)OR LENGTH(TRIM(PHONE_EXTN))LENGTH(PHONE_EXTN)

    OR LENGTH(TRIM(PHONE_HASH))LENGTH(PHONE_HASH)OR LENGTH(TRIM(PHONE_NUMBER))LENGTH(PHONE_NUMBER)OR LENGTH(TRIM(PHONE_PROVIDER))LENGTH(PHONE_PROVIDER)OR LENGTH(TRIM(PHONE_TYPE))LENGTH(PHONE_TYPE)OR LENGTH(TRIM(UPDATED_DATE))LENGTH(UPDATED_DATE)

    Check whether population is in UpperCase. Below is the query for test the upper caseselect count(1) UPR_CASE_CNT from LOYALTY_PHONE_TEST where (

    UPPER(ACCOUNT_TYPE_ID)ACCOUNT_TYPE_ID ORUPPER(PHONE_TYPE)PHONE_TYPE ORUPPER(PHONE_NUMBER)PHONE_NUMBER ORUPPER(ISD_CODE)ISD_CODE ORUPPER(PHONE_COUNTRY_ISO2)PHONE_COUNTRY_ISO2 ORUPPER(PHONE_EXTN)PHONE_EXTN OR

    UPPER(PHONE_HASH)PHONE_HASH ORUPPER(PHONE_PROVIDER)PHONE_PROVIDER ORUPPER(UPDATED_DATE)UPDATED_DATE ORUPPER(CREATED_DATE)CREATED_DATE ORUPPER(DELETED_DATE)DELETED_DATE)

    Check all the fields for which NVL transform has been applied.Create data records if required to check all the exit points.

    Do I need to check from Data Stage Repository table or metadataResult Query:select * from JOB_INFO where JOB_name='PROC_LOAD_DEM_US_ADDR_GEO_XREF';

    Result Query:select * from ABC_TABLE_FILES where TABLE_NAME='DEM_US_ADDR_GEO_XREF';

    The run entry is generated by the job in ABC_JOB_STATS.Result Query:select ABC_JOB_stats.*from JOB_INFO, ABC_JOB_statswhere JOB_INFO.JOB_id=ABC_JOB_stats.JOB_idAND JOB_INFO.JOB_name='PROC_LOAD_DEM_US_ADDR_GEO_XREF';

  • 8/6/2019 Test Case Phone

    13/31

    Select count(1) DISTINCT_CNT from(select distinct Surrogate_KEY,ACCOUNT_ID,ACCOUNT_TYPE_ID from LOYALTY_PHONE_TEST)a

    Select count(1) ALL_CNT from(select Surrogate_KEY,ACCOUNT_ID,ACCOUNT_TYPE_ID from LOYALTY_PHONE_TEST)a

    select count(1) ALL_CNT from COMMON_STAGE

    select count(1) DISTINCT_CNT from(select SOURCE_SYSTEM,ACCOUNT_KEY,ACCOUNT_TYPE_ID from COMMON_STAGE)a

    Expected distinct_cnt=all_cnt

    CREATE_DATE and DELETED_BY, UPDATE_DATE selectcount(1) DT_Not_NULL_CNT from LOYALTY_PHONE_TESTwhere (CREATED_DATE is null or UPDATED_DATE is null or DELETED_DATE is null)

    CREATE_BY and DELETED_BY, UPDATE_BY selectcount(1) HRD_CODE_CHK_CNT from UCDETL.PHONEwhere (CREATED_BY != 'ETL' or UPDATED_BY != 'ETL' or DELETED_BY != 'ETL' or

    CREATED_BY is null or UPDATED_BY is null or DELETED_BY is null )

    Select count(1) TAR_CNT from(select distinct ACCOUNT_ID,ACCOUNT_TYPE_ID from LOYALTY_PHONE_TESTwhere PHONE_NUMBER is not null and CREATED_DATE>=ETL_DATE-1

    )a

    For count the latest rows at source endselect count(1) SRC_CNT from(select distinct SOURCE_SYSTEM,ACCOUNT_KEY,ACCOUNT_TYPE_ID from COMMON_STAGEwhere (PHONE_NUMBER1 is not null or

    PHONE_NUMBER2 is not null or PHONE_NUMBER3 is not null or PHONE_NUMBER4 is not null )

    and LAST_UPDATED_DATE between ETL_DATE and ETL_DATE-1)a

  • 8/6/2019 Test Case Phone

    14/31

    We can update the one records set by adding 'XYZ' is start and check the same update chould be in TARGET table after ETL.If the test isgood than we can revert back the stmt . llExample:

    update COMMON_STAGE SETBILLING_STATE= 'XYZ'||BILLING_STATE ,BILLING_POSTAL_CODE= 'XYZ'||BILLING_POSTAL_CODE ,BILLING_COUNTRY= 'XYZ'||BILLING_COUNTRY ,BILLING_PHONE= 'XYZ'||BILLING_PHONE ,CCD_CURR_ISO= 'XYZ'||CCD_CURR_ISO ,CCD_STATUS= 'XYZ'||CCD_STATUS ,

    CCD_ENC_VERSION= 'XYZ'||CCD_ENC_VERSION ,CCD_NUMBER_2= 'XYZ'||CCD_NUMBER_2 ,COMPLIANCE_KEY_VALUE1= 'XYZ'||COMPLIANCE_KEY_VALUE1 ,MT_EXP_FLAG1= 'XYZ'||MT_EXP_FLAG1 ,TEMPLATE_ID1= 'XYZ'||TEMPLATE_ID1 ,ISSUED_DATE1= 'XYZ'||ISSUED_DATE1 ,ISSUED_PLACE1= 'XYZ'||ISSUED_PLACE1 ,EXPIRY_DATE1= 'XYZ'||EXPIRY_DATE1 ,COMPLIANCE_KEY_VALUE2= 'XYZ'||COMPLIANCE_KEY_VALUE2 ,MT_EXP_FLAG2= 'XYZ'||MT_EXP_FLAG2 ,TEMPLATE_ID2= 'XYZ'||TEMPLATE_ID2 ,ISSUED_DATE2= 'XYZ'||ISSUED_DATE2 ,ISSUED_PLACE2= 'XYZ'||ISSUED_PLACE2 ,EXPIRY_DATE2= 'XYZ'||EXPIRY_DATE2 ,COMPLIANCE_KEY_VALUE3= 'XYZ'||COMPLIANCE_KEY_VALUE3 ,MT_EXP_FLAG3= 'XYZ'||MT_EXP_FLAG3 ,TEMPLATE_ID3= 'XYZ'||TEMPLATE_ID3 ,ISSUED_DATE3= 'XYZ'||ISSUED_DATE3 ,ISSUED_PLACE3= 'XYZ'||ISSUED_PLACE3 ,EXPIRY_DATE3= 'XYZ'||EXPIRY_DATE3 ,COMPLIANCE_KEY_VALUE4= 'XYZ'||COMPLIANCE_KEY_VALUE4 ,MT_EXP_FLAG4= 'XYZ'||MT_EXP_FLAG4 ,TEMPLATE_ID4= 'XYZ'||TEMPLATE_ID4 ,ISSUED_DATE4= 'XYZ'||ISSUED_DATE4 ,ISSUED_PLACE4= 'XYZ'||ISSUED_PLACE4 ,EXPIRY_DATE4= 'XYZ'||EXPIRY_DATE4 ,SQA_QUESTION1= 'XYZ'||SQA_QUESTION1 ,SQA_ANSWER1= 'XYZ'||SQA_ANSWER1 ,SQA_QUESTION2= 'XYZ'||SQA_QUESTION2 ,SQA_ANSWER2= 'XYZ'||SQA_ANSWER2 ,SQA_QUESTION3= 'XYZ'||SQA_QUESTION3 ,SQA_ANSWER3= 'XYZ'||SQA_ANSWER3 ,ADDED_CREDIT_CARD= 'XYZ'||ADDED_CREDIT_CARD ,CREDIT_CARD_HASH= 'XYZ'||CREDIT_CARD_HASH ,BLAZE_ACTIVATION_STATUS= 'XYZ'||BLAZE_ACTIVATION_STATUS ,

    = ' '

  • 8/6/2019 Test Case Phone

    15/31

  • 8/6/2019 Test Case Phone

    16/31

    Program/Module/ SR Name Test case IDPrepared on date 23-Jun-11 Testing StageTested bySource code Version 1Start DateEnd Date

    Expected Result Actual Result in Iteration 1 Actual Result in Actual Result in

    JOB follows follows all the standards,checklists as mentioned in the Review checklist

    Standards were followed as per checklist

    1. Number of Rows at Source-TRG_CNT = 728722. Number of Rows at Target SRC_CNT =72872The values obtained in 1 and 2 are same.

    The Logical set of data exactly matches from sourceto target. The logical balance query compares thedataset at Source and Target.TAR_NO_OF_PHONE_NUM=SRC_NO_OF_PHONE_NUM

  • 8/6/2019 Test Case Phone

    17/31

    UPR_CASE_CNT =0

    NVL transform is getting applied. NA

    NA

    NANA

    Required number of records are returned.

    No leading and trailing spaces should be present inthe column value.

    SPACE_CNT =0

    Run record is present in theABC_JOB_STATS and corresponds to thecurrent run.

  • 8/6/2019 Test Case Phone

    18/31

    DISTINCT_CNT=ALL_CNT

    DISTINCT_CNT=ALL_CNT

    DT_Not_NULL_CNT=0

    HRD_CODE_CHK_CN=0

    SRC_CNT=TAR_CNT ORSRC_CNT-TAR_CNT=0

  • 8/6/2019 Test Case Phone

    19/31

    Check the updated in target table

  • 8/6/2019 Test Case Phone

    20/31

  • 8/6/2019 Test Case Phone

    21/31

    Status Remarks

    Classification: Client Confidential

  • 8/6/2019 Test Case Phone

    22/31

  • 8/6/2019 Test Case Phone

    23/31

  • 8/6/2019 Test Case Phone

    24/31

  • 8/6/2019 Test Case Phone

    25/31

  • 8/6/2019 Test Case Phone

    26/31

    Scenario Description

    1 Code ChecksData Stage Version

    2

    Project

    Job3 Stage

    DB Stage (Source)

    DB Stage (Target)DatabaseHashed DefinitionFlat FileCFFXMLStored Procedure

    4 Transformation stagesSort Stage

    Transformer StageMerge StageComplex Flat FileSequential Flat FilePivot StageFTP StageHashed FileContainer Link Collector

    Primary Input LinkLink to process source data

    Output Link5 Parameter Type

    Job ParametersStage VariablesUser Activity VariablesEnvironment Variables

    6 Transformations and RoutinesRoutineTransform

    7 Natural Keys Manual testing

    8 Sort Keys Manual testing

    Scen.No.

    Cond. No.

    DataStage Job Naming Conventions

    Aggregator Stage

    Link Partitioner

    Lookup Link

    Sequencer Param.

    DataStage Job Descriptions

  • 8/6/2019 Test Case Phone

    27/31

    9 Remove Duplicates Keys Manual testing

    10 Change Capture Keys Manual testing

    11 Testing for the Execution time

  • 8/6/2019 Test Case Phone

    28/31

    Condition Description

    Best practice is attached in this sheet

    Job will be tested on datastage 8.5

    Categoryname_tablename_actiontype>

    Eg. OraSorgExt,Db2Agentdetail

    Action Eg. OraSorgExtInsert, Db2AgentdetailUpdate

    \\ Eg.Oracle\SBU\Table Name\Hashed\ Eg.Hashed\SystemValueHash\Sequential\Eg. Sequential\payment\CFF\

  • 8/6/2019 Test Case Phone

    29/31

    Check the required time for each job

    In the Remove Duplicates stage the dedup keys will be all the natural keys Eg: the remove dups keysfor PHONE Table will be 1)ACCOUNT_ID 2)ACCOUNT_TYPE_ID 3)PHONE_TYPE

    In the Change Capture stage the Change keys will be all the natural keys Eg: theChange Keys for Email Table will be 1)ACCOUNT_ID 2)ACCOUNT_TYPE_ID 3)PHONE_TYPE . TheChange Columns will be 1)EMAIL_VALUE2) UNDERIVABLE3)UNDERIVABLE_SRC

  • 8/6/2019 Test Case Phone

    30/31

    Expected Result Status Remarks

    Datastage8.5

    ActualResult inIteration 1

    ActualResult inIteration 2

    ActualResult inIteration 3

  • 8/6/2019 Test Case Phone

    31/31

    Ideally it will take max 5 min