200interview questions and answers.docx
《200interview questions and answers.docx》由会员分享,可在线阅读,更多相关《200interview questions and answers.docx(24页珍藏版)》请在冰豆网上搜索。
200interviewquestionsandanswers
Q:
Whatisverification?
A:
Verificationensurestheproductisdesignedtodeliverallfunctionalitytothe
customer;itinvolvesreviewsandmeetingstoevaluatedocuments,plans,code,requirements;thiscanbedonewithchecklists,walkthroughsandinspectionmeetings.
Q:
Whatisvalidation?
A:
Validationensuresthatfunctionalityistheintendedbehavioroftheproduct;validationinvolvesactualtestingandtakesplaecafterverificationsarecompleted.
Q:
Whatisawalk-through?
A:
Awalk-throughisaninformalmeetingforevaluationorinformational
purposes.
Q:
Whatisaninspection?
A:
Aninspectionisaformalmeeting,moreformalizedthanawalk-throughandconsistsof3-10peopleincludingamoderator,readerandarecorder.Thesubjectoftheinspectionisadocument,suchasarequirementsdocumentoratestplan.Thepurposeofaninspectionistofindproblemsandseewhatismissing,nottofixanything.Theresultofthemeetingshouldbedocumentedinawrittenreport.
Q:
Whatisquality?
A:
Qualitysoftwareissoftwarethatisreasonablybug-free,deliveredontimeand
withinbudget,meetsrequirementsandexpectationsandismaintainable.
However,qualityisasubjectiveterm.Qualitydependsonwhothecustomeris
andtheiroverallinfluenceintheschemeofthings.
Eachtypeofcustomerwillhavehisorherownslantonquality.Theaccountingdepartmentmightdefinequalityintermsofprofits,whileanend-usermightdefinequalityasuserfriendlyandbugfree.
Q:
Whyaretheresomanysoftwarebugs?
A:
Generallyspeaking,therearebugsinsoftwarebecauseofunclear
requirements,softwarecomplexity,programmingerrors,changesin
requirements,errorsmadeinbugtracking,timepressure,poorlydocumented
codeand/orbugsintoolsusedinsoftwaredevelopment.
?
Thereareunclearsoftwarerequirementsbecausethereis
miscommunicationastowhatthesoftwareshouldorshouldn'tdo.
?
Softwarecomplexity.Allofthefollowingscontributetotheexponential
growthinsoftwareandsystemcomplexity:
Windowsinterfaces,client-
serveranddistributedapplications,datacommunications,enormous
relationaldatabasesandthesheersizeofapplications.
?
Programmingerrorsoccurbecauseprogrammersandsoftware
engineers,likeeveryoneelse,canmakemistakes.
?
Astochangingrequirements,insomefast-changingbusiness
environments,continuouslymodifiedrequirementsareafactoflife.
Sometimescustomersdonotunderstandtheeffectsofchanges,or
understandthembutrequestthemanyway.Andthechangesrequire
redesignofthesoftware,reschedulingofresourcesandsomeofthe
workalreadycompletedhavetoberedoneordiscardedandhardware
requirementscanbeeffected,too.
?
Bugtrackingcanresultinerrorsbecausethecomplexityofkeepingtrack
ofchangescanresultinerrors,too.
?
Timepressurescancauseproblems,becauseschedulingofsoftware
projectsisnoteasyanditoftenrequiresalotofguessworkandwhen
deadlinesloomandthecrunchcomes,mistakeswillbemade.
?
Codedocumentationistoughtomaintainanditisalsotoughtomodify
codethatispoorlydocumented.Theresultisbugs.Sometimesthereis
noincentiveforprogrammersandsoftwareengineerstodocumenttheir
codeandwriteclearlydocumented,understandablecode.Sometimes
developersgetkudosforquicklyturningoutcode,orprogrammersand
softwareengineersfeeltheyhavejobsecurityifeveryonecan
understandthecodetheywrite,ortheybelieveifthecodewashardto
write,itshouldbehardtoread.
?
Softwaredevelopmenttools,includingvisualtools,classlibraries,
compilers,scriptingtools,canintroducetheirownbugs.Othertimesthe
toolsarepoorlydocumented,whichcancreateadditionalbugs.
Q:
Whatisagoodcode?
A:
Agoodcodeiscodethatworks,isfreeofbugsandisreadableand
maintainable.Organizationsusuallyhavecodingstandardsalldevelopersshould
adhereto,buteveryprogrammerandsoftwareengineerhasdifferentideas
aboutwhatisbestandwhataretoomanyortoofewrules.Weneedtokeepin
mindthatexcessiveuseofrulescanstiflebothproductivityandcreativity.Peer
reviewsandcodeanalysistoolscanbeusedtocheckforproblemsandenforce
standards.
Q:
Whatisagooddesign?
A:
Designcouldmeantomanythings,butoftenreferstofunctionaldesignor
internaldesign.Goodfunctionaldesignisindicatedbysoftwarefunctionalitycan
betracedbacktocustomerandend-userrequirements.Goodinternaldesignis
indicatedbysoftwarecodewhoseoverallstructureisclear,understandable,
easilymodifiableandmaintainable;isrobustwithsufficienterrorhandlingand
statusloggingcapability;andworkscorrectlywhenimplemented.
Q:
Whatissoftwarelifecycle?
A:
Softwarelifecyclebeginswhenasoftwareproductisfirstconceivedandends
whenitisnolongerinuse.Itincludesphaseslikeinitialconcept,requirements
analysis,functionaldesign,internaldesign,documentationplanning,test
planning,coding,documentpreparation,integration,testing,maintenance,
updates,re-testingandphase-out.
Q:
HowdoYouIntroduceaNewSoftwareQAProcess?
A:
Itdependsonthesizeoftheorganizationandtherisksinvolved.Forlarge
organizationswithhigh-riskprojects,aseriousmanagementbuy-inisrequired
andaformalizedQAprocessisnecessary.Formediumsizeorganizationswith
lowerriskprojects,managementandorganizationalbuy-inandaslower,step-by-
stepprocessisrequired.Generallyspeaking,QAprocessesshouldbebalanced
withproductivity,inordertokeepanybureaucracyfromgettingoutofhand.For
smallergroupsorprojects,anad-hocprocessismoreappropriate.Alotdepends
onteamleadsandmanagers,feedbacktodevelopersandgoodcommunication
isessentialamongcustomers,managers,developers,testengineersandtesters.
Regardlessthesizeofthecompany,thegreatestvalueforeffortisinmanaging
requirementprocesses,wherethegoalisrequirementsthatareclear,complete
and
testable.
Q:
Givemefivecommonproblemsthatoccurduringsoftwaredevelopment.
A:
Poorlywrittenrequirements,unrealisticschedules,inadequatetesting,adding
newfeaturesafterdevelopmentisunderwayandpoorcommunication.
1.
Requirementsarepoorlywrittenwhenrequirementsareunclear,
incomplete,toogeneral,ornottestable;thereforetherewillbeproblems.
2.
Thescheduleisunrealisticiftoomuchworkiscrammedintoolittletime.
3.
Softwaretestingisinadequateifnoneknowswhetherornotthesoftware
isanygooduntilcustomerscomplainorthesystemcrashes.
4.
It'sextremelycommonthatnewfeaturesareaddedafterdevelopmentis
underway.
5.
Miscommunicationeithermeansthedevelopersdon'tknowwhatis
needed,orcustomershaveunrealisticexpectationsandtherefore
problemsareguaranteed.
Q:
Givemefivesolutionstoproblemsthatoccurduringsoftwaredevelopment.
A:
Solidrequirements,realisticschedules,adequatetesting,firmrequirements
andgoodcommunication.
1.
Ensuretherequirementsaresolid,clear,complete,detailed,cohesive,
attainableandtestable.Allplayersshouldagreetorequirements.Use
prototypestohelpnaildownrequirements.
2.
Haveschedulesthatarerealistic.Allowadequatetimeforplanning,
design,testing,bugfixing,re-testing,changesanddocumentation.
Personnelshouldbeabletocompletetheprojectwithoutburningout.
3.
Dotestingthatisadequate.Starttestingearlyon,re-testafterfixesor
changes,andplanforsufficienttimeforbothtestingandbugfixing.
4.
Avoidnewfeatures.Sticktoinitialrequirementsasmuchaspossible.Be
preparedtodefenddesignagainstchangesandadditions,once
developmenthasbegunandbepreparedtoexplainconsequences.If
changesarenecessary,ensurethey'readequatelyreflectedinrelated
schedulechanges.Useprototypesearlyonsocustomers'expectations
areclarifiedandcustomerscanseewhattoexpect;thiswillminimize
changeslateron.
5.
Communicate.Requirewalk-throughsandinspectionswhenappropriate;
makeextensiveuseofe-mail,networkedbug-trackingtools,toolsof
changemanagement.Ensuredocumentationisavailableandup-to-date.
Usedocumentationthatiselectronic,notpaper.Promoteteamworkand
cooperation.
Q:
Doautomatedtestingtoolsmaketestingeasier?
A:
Yesandno.Forlargerprojects,orongoinglong-termprojects,theycanbe
valuable.Butforsmallprojects,thetimeneededtolearnandimplementthemis
usuallynotworthwhile.Acommontypeofautomatedtoolistherecord/playback
type.Forexample,atestengineerclicksthroughallcombinationsofmenu
choices,dialogboxchoices,buttons,etc.inaGUIandhasanautomatedtesting
toolrecordandlogtheresults.Therecordingistypicallyintheformoftext,
basedonascriptinglanguagethatthetestingtoolcaninterpret.Ifachangeis
made(e.g.newbuttonsareadded,orsomeunderlyingcodeintheapplicationis
changed),theapplicationisthenre-testedbyjustplayingbacktherecorded
actionsandcomparedtotheloggedresultsinordertocheckeffectsofthe
change.Oneproblemwithsuchtoolsisthatiftherearecontinualchangestothe
productbeingtested,therecordingshavetobechangedsooftenthatitbecomes
averytime-consumingtasktocontinuouslyupdatethescripts.Anotherproblem
withsuchtoolsistheinterpretationoftheresults(screens,data,logs,etc.)that
canbeatime-consumingtask.
Q:
Whatmakesagoodtestengineer?
A:
RobDavisisago