1. Software EngineeringSoftware Engineering
Software Engineering is an engineering disciplineSoftware Engineering is an engineering discipline
concerned with the practical problems of developing largeconcerned with the practical problems of developing large
software.software.
Software Engineering discipline tracks both technical &Software Engineering discipline tracks both technical &
non-technical problems associated with softwarenon-technical problems associated with software
development.development.
Challenge for Software Engineers is to produce highChallenge for Software Engineers is to produce high
quality software with finite amount of resources & within aquality software with finite amount of resources & within a
predicted schedule.predicted schedule.
Apply Engineering Concepts to developing SoftwareApply Engineering Concepts to developing Software
Apply Engineering Concepts to removing crisis.Apply Engineering Concepts to removing crisis.
2. Definition of a SoftwareDefinition of a Software
A Software is a set of Programs developed toA Software is a set of Programs developed to
perform a particular taskperform a particular task
It mainly acts a mediator between the user andIt mainly acts a mediator between the user and
the system to fulfill the user requirements.the system to fulfill the user requirements.
3. Types of SoftwareTypes of Software
Banking SoftwareBanking Software
ATM SoftwareATM Software
Mobile Application SoftwareMobile Application Software
Automobile SoftwareAutomobile Software
Educational Software Etc.Educational Software Etc.
4. Software ProcessSoftware Process
SDLC(Software Development Life Cycle)SDLC(Software Development Life Cycle)
Software requirements gatheringSoftware requirements gathering
Software design and developmentSoftware design and development
ImplementationImplementation
TestingTesting
MaintenanceMaintenance
5. Software TestingSoftware Testing
Software Testing is a Process of finding errorsSoftware Testing is a Process of finding errors
or bugs in a Software.or bugs in a Software.
Categories in Software TestingCategories in Software Testing
Manual Testing &Manual Testing &
Automation TestingAutomation Testing
6. Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance involves reviewingSoftware Quality Assurance involves reviewing
and auditing the software products and activitiesand auditing the software products and activities
to verify that they comply with the applicableto verify that they comply with the applicable
procedures and standards .procedures and standards .
7. What makes a good test engineer?What makes a good test engineer?
A good test engineer has a 'test to break'A good test engineer has a 'test to break'
attitude, an ability to take the point of view ofattitude, an ability to take the point of view of
the customer, a strong desire for quality, and anthe customer, a strong desire for quality, and an
attention to detail.attention to detail.
8. Verification and ValidationVerification and Validation
Verification: It is a Process to check whether theVerification: It is a Process to check whether the
software conforms to the specifications, itsoftware conforms to the specifications, it
typically involves reviews and meetings totypically involves reviews and meetings to
evaluate documents, plans, requirements, andevaluate documents, plans, requirements, and
specifications.specifications.
Validation: It is a Process to check whether theValidation: It is a Process to check whether the
software meets the customer requirements, itsoftware meets the customer requirements, it
typically involves testing at the user end andtypically involves testing at the user end and
takes place after verifications are completed.takes place after verifications are completed.
9. Objects of Software TestingObjects of Software Testing
To unearth and correct defects.To unearth and correct defects.
To detect defects early and to reduce cost ofTo detect defects early and to reduce cost of
defect fixing.defect fixing.
To ensure that product works as user expected itTo ensure that product works as user expected it
to.to.
To avoid user detecting problems.To avoid user detecting problems.
10. What is a Software BugWhat is a Software Bug
It is a term used to indicate a defect in aIt is a term used to indicate a defect in a
SoftwareSoftware
A Software Defect can be mainly categorized asA Software Defect can be mainly categorized as
CriticalCritical
MajorMajor
MinorMinor
11. Types of TestingTypes of Testing
Black Box TestingBlack Box Testing
White Box TestingWhite Box Testing
Regression TestingRegression Testing
Ad hoc TestingAd hoc Testing
Smoke TestingSmoke Testing
Load TestingLoad Testing
Security TestingSecurity Testing
12. Test Life CycleTest Life Cycle
SRS Preparations and DocumentationsSRS Preparations and Documentations
Preparation of Test PlanPreparation of Test Plan
Design of Test CasesDesign of Test Cases
Execution of Test CasesExecution of Test Cases
Evaluate ResultsEvaluate Results
Document Test ResultsDocument Test Results
Casual Analysis/ Preparation of Validation ReportsCasual Analysis/ Preparation of Validation Reports
Regression Testing / Follow up on reported bugs.Regression Testing / Follow up on reported bugs.
13. Levels of TestingLevels of Testing
Unit TestingUnit Testing
Integration TestingIntegration Testing
System TestingSystem Testing
Acceptance TestingAcceptance Testing
14. Testing PrinciplesTesting Principles
THE EIGHT BASIC PRINCIPLES OFTHE EIGHT BASIC PRINCIPLES OF
TESTINGTESTING
1. Define the expected output or result.1. Define the expected output or result.
2. Don't test your own programs .2. Don't test your own programs .
3. Inspect the results of each test completely.3. Inspect the results of each test completely.
4. Include test cases for invalid or unexpected4. Include test cases for invalid or unexpected
conditions.conditions.
15. 5. Test the program to see if it does what it is not5. Test the program to see if it does what it is not
supposed to do as well as what it is supposed tosupposed to do as well as what it is supposed to
do.do.
6. Avoid disposable test cases unless the program6. Avoid disposable test cases unless the program
itself is disposable.itself is disposable.
7. Do not plan tests assuming that no errors will be7. Do not plan tests assuming that no errors will be
found.found.
8. The probability of locating more errors in any8. The probability of locating more errors in any
one module is directly proportional to the numberone module is directly proportional to the number
of errors already found in that module.of errors already found in that module.