Vous êtes sur la page 1sur 4

Q1.WhichbasictasksprimarilydonebyETLtester?

A1.AETLTesterprimarilytestsourcedataextraction,businesstransformationlogicandtargettableloading.Therearesomanytasksinvolved
fordoingthesame,whicharegivenbelow
1.Stagetable/SFSorMFSfilecreatedfromsourceupstreamsystembelowcheckscomeunderthis:
a)RecordcountCheck
b)Reconcilerecordswithsourcedata
c)NoJunkdataloaded
d)KeyorMandatoryFieldnotmissing
e)duplicatedatanotthere
f)Datatypeandsizecheck
2)Businesstransformationlogicappliedbelowcheckscomeunderthis:
a)Businessdatacheckliketelephonenocantbemorethan10digitorcharacterdata
b)Recordcountcheckforactiveandpassingtransformationlogicapplied
c)DerivedFieldfromthesourcedataisproper
d)CheckDataflowfromstagetointermediatetable
e)Surrogatekeygenerationcheckifany
3.Targettableloadingfromstagefileortableafterapplyingtransformationbelowcheckcomeunderthis
a)Recordcountcheckfromintermediatetableorfiletotargettable
b)MandatoryorkeyfielddatanotmissingorNull
c)AggregateorderivedvalueloadedinFacttable
d)Checkviewcreatedbasedontargettable
e)Truncateandloadtablecheck
f)CDCappliedonincrementalloadtable
g)dimensiontablecheck&historytablecheck
h)Businessrulevalidationonloadedtable
i)Checkreportsbasedonloadedfactanddimensiontable
Q2.GenerallyhowenevironemtvariablesandpathsaresetinUnix?
A2.dot(.)profile,normallywhileloggingthiswillbeexecutedorwecanexecuteasdot(.)dot(.)profile
3.Ifacolumnisaddedintoatable,tellmethetestcasesyouwillwriteforthis?
A3.Followingtestcasesyoucanwriteforthis
1.Checkthatparticularcolumndatatypeandsizeisasperthedatamodel.
2.CheckdataisgettingloadedintothatcolumnaspertheDEM(dataelementmapping)
3.Checkthevalidvalues,nullcheckandboundaryvaluecheckforthatcolumn

Q4.Let'ssupposeyouareworkingonaprojectwhererequirementkeepschanging.Howwouldyoutacklethis?
A4.Iftherequirementisgettingchangedfrequentlythenweneedtolotofregressionforthesamefunctionalitywhichhasbeentested.Thenyou
needtobereadywithallyourinputtestdataandexpectedresult,soaftercheckingchangedpart,youcanrunallthetestcasesandcheckthe
resultsinnotime.

Q5.Howdoyoumodifyyourtestdatawhiledoingthetesting?
A5.IfinputtestdataisASCIIfile,thenyoucaneasliyprepareitinnotepad+basedontheinterfaceandthenftpittounixserverandifit'stable
thenyoucaninserttherowsintotableasperthedatamodel.Iffileotherthanasciiformatthenwecanuseabinitiographtocovertexcelsheet
intorequiredformatoruseothertoolsareavailablefordoingthesame.

Q6.Atablehaspartitionsbyrangeondata_dt,supposeithasalreadydefinedmonthlypartitionsPTN_01(valueslessthan(TO_DATE
('01Feb2014','ddmonyyyy')))forjanuary2014dataonlyandwearetryingtoloaddataforfeb2014thenwhatwillhappen?Ifyou
findanyerrorthenhowtosolvethesame.
A6.ItwillfetcherrorInsertedpartitionkeydoesnotmaptoanypartition(ORA14400).Itmeansparitionisnotthereforfebdatawhich
wearetryingtoload,soaddanewpartitioninthetableforfebmonthdataasbelow:
Altertabletable_nameaddpartitionpartition_namevalueslessthan(TO_DATE('01MAR2014','ddmonyyyy'))

Note:Rememberwecanonlycreatenewpartitionforhighervaluethanthepreviouscreatedpartition(itmeansherewecan'taddpartitionfor
dec2013aswehavehighervalueisfeb2014here.
Q7.Howwillyouconnectoracledatabasefromunixserver?
A7.sqlplususername/password@dbserver
Q8.IfoneoftheOracleprocedurefetcheserrorNodatafoundthenwhatistheissuehere?
A8.Inthatproceduredefinitelyweareretrievingthedatafromtableandpassingittoavariable.Ifthatselectstatementisnotfetchinganyrow
thenwewillgetthiserror.
Q9.Ifoneofyourwrapperunixscriptisfetchingtheerrornotenoughmemorythenwhatyouwilldo?
A9.Firstwecancheckthediskusagebycommanddfh,thenwecancleanupaccordinglyandrunthescriptagain.

Q10.let'ssupposewehavetotwotables,item(PrimaryKey:itemid)andorder(PrimaryKeyorderid,ForeignKey:itemid).Ifwe
trytodeleteitemsfromordertablethenwillweabletodelete?Ifnotthenhowcanwedothat?
A10.Ifwemakeanattempttodeleteortruncateatablewithuniqueorprimarykeysreferencedbyforeignkeysenabledinanothertablethenwe
geterror:ORA02266unique/primarykeysintablereferencedbyenabledforeignkeys
So,beforedeletingortruncatingthetable,disabletheforeignkeyconstraintsinothertablesordeletethedatafromforeigntableitemfirstthen
fromtheprimarytableorderhere.
Q11.Whydowecreateindexonatable?Pleaseexplain
A11.InnutshellIcansayforfasterretrievalofdataweuseindexes,let'ssupposeIcreatedatableorderwhichwillcontainbillionsofdataandI
knowmostofthetimeIwillbequeryingthistableusingorderidthenIshouldmakeindexonOrdertableforfasterresult.
Q13.HowwecanlinkadefectwithatestscriptinQC?
A13.FirstWeshouldfailthetestcasestepintestlab,thenwecanclickonnewdefect(redcolorsymbol)thenenterthedefectdetailsthereand
raiseit.Thenthatdefectislinkedwiththatparticularstepoftestcase.Onemorethingaswementionissuesinactualresultthatwillcomein
defectdescriptionautomatically(noneedtoputissuedetailsagain)
Q14.WhatarethedifferentmethodstoloadtablefromfilesinOracle?Alsotellmemethodsforteradata.
A14.SQLLoader,Externaltableloading,loadingthroughdriverJDBC.Interadataweusemultiloadorfastloadusually.
Q15.Whatarethethingsyouwillcheckbeforeyoustarttesting?Whatwillbeyourdeliverables?
A15.Beforestartingthetesting,requirementdocument,functionalspec.Technicalspec,interface,demandunittestresultshouldbeavailble
atleast.Mydeliverableswillbetestplan,testspec,testscript,defectsummarywithrootcausalanalysis,testexecutionorresultreportand
automationscript(ifcreated).
Q17.Let'ssupposewearehavingordertablewhicharehavingduplicateorder_id.Howwecandeletetheduplicaterowsfromthetable?
Tellatleasttwomethodsyouknow.
A17.Firstwecandothebelow:
createtableorder_newasselectdistinct*fromorder;
droptableorder;
renameorder_newtoorder;
Note:Thismethodisfaster,butweneedtorecreateindex,partitions,constraints....
Secondmethod
deletefromorderawhererowid>(selectmin(rowid)fromorderbwherea.order_id=b.order_id);
Note:herewedeletingtheduplicaterowsbasedonrowidwhichisuniquelyassignedtoeachrowbyOracle.
Q18.Howyouwillfindthesecondhighestsalaryfromtheemployeetable?Tellmetwomethodsatleast.
A18.Firstmethodwecanusesubquerytofindthisasbelow:
selectmax(sal)from emp wheresalnotin(selectmax(sal)fromemp);
Note:firstwefondthehoghestsalaryherethennexthighestwillbethesecondsalaryonly
Secondmethodwecanuserow_numberforthesameasbelow:
SELECTempno,sal FROM(select empno, sal,

ROW_NUMBER() OVER (order by sal desc) RN


fromemporder by sal desc)WHERE RN = 2;

Q21.Let'ssupposewearemigratingthedatafromlegacyfilesystemtooracledatabasetables.Howwouldyouvalidatethatthedatais
migratedpropely?Tellmetheimp.testscenarioandtestcasesyouwillwritetotestthisrequirementandhow willyoutestthat
scenario?
A21.Followingscenariocanbewrittenforthesame:
1)CheckthatalltableDDLasperdatamodel(desctablename)
2)Checkthatallrecordsareloadedfromsourcetotarget(matchrecordcount)
3)Checknullvalueorjunkdataisnotloadedintotable(checkrecordcountbyputtingnotnullconditions)
4)Checkvalidvaluesforcolumns(basedongroupbyfindallthecountsforparticularvaluesforafield)
5)Checksamedataisloaded(putajoinbetweensourcetable(ifthere)stagetableandtagettableandchecktheresult)
6)Checkkeyfields(addnumberfieldsfortargetandsourceandmatchthem)
7)Checkbusinesslogics(createasheetwithinputandoutput)
8)Afterinitialloading,checkincrementalloading(insert/delete/updatecheckalltheCDCcases)
9)checktheoutputfilelayout(ifany)
Q45.Write a query for the below - To Find out the name of the employees whose salary is greater than their
manager salary.
A45 QuerySelect EMP.name from Employee Emp, Employee Mgr where EMP.managerid = Mgr.empid and Emp.sal > Mgr.sal ;
Q46. What is BPT (Business Process testing) ?
A46. BPT stands for business process testing. It enables SMEs to design test script early in the development cycle. It consist of
reusable business components which got converted into business process test.
Q51. What do you understand by full load and incremental load?
A52. Full load is basically dumping of entire data from source table to target table . Every time when full load is happening then we
are truncating the table and loading the entire data again.
Incremental load is basically loading of delta data from source to target table in regular interval so that source and target can be
synchronized. while applying the delta into target table, Normally we do capture data change (CDC) i.e what is getting inserted,
updated or deleted.
Q6.How can we search particular job in control M?
A6.you can follow the below steps to find out the job in control m
a.
Login to control m
b.

Click customizable filter in view point tab of control m

c.

Filter based on folder name and server name ( we can give wild characters here *)

d.

After filtering we can see all the instances for jobs coming under that folder

e.

In particular folder, all the jobs coming under that will be shown

Q9. In control m, how can we order a new job which is not scheduled?
A9.Click order button on home tab, select control m server, folder, particular job (if all jobs selected then all the jobs for particular
folder will be submitted to run). Also check boxes ignore scheduling criteria and order as independent flow.

Q10. How can we modify command for particular job in control m?


A10. Do right click on particular job, go to properties, click on modify job, now we can change the commands and other things like
schedule for that job.

Vous aimerez peut-être aussi