Вы находитесь на странице: 1из 7

Manual Testing Lesson 1 – Introduction to Software Testing

i) What is Software Testing?


ii) Conducting Software Testing
iii) Roles and Responcibilities of Software Testing
iv) Overview of Computer and Mobile Software

i) What is Software Testing?


> Software Testing is a process of executing a program or application with the intent of finding
the defects.

> It can also be stated as the process of validating and verifying that a software program or
application or product Works as expected…

> Static Testing, It can test and find defects without executing code. Static Testing is done
during verification process. This testing includes reviewing of the documents (including source
code) and static analysis. This is useful and cost effective way of testing. For example: review,
walk-through, inspection…

> Dynamic Testing, In dynamic testing the software code is executed to demonstrate the result
of running tests. It’s done during validation process. For example: Unit Testing, Integration
Testing, System Testing.

> Testing can be conducted in various Test Levels, Testers may vary from one level to another.
Developers conduct Unit Testing, Independent Testers conduct System Testing and Customers
or End Users conduct Acceptance Testing

ii) Conducting Software Testing


> Software Testing can be done in 2 ways,

a) Manual Testing
> Testing Computer/Mobile Software manually without using any Test Tool or Test(Automation)
Script.
In Manual Testing,

> Understanding Requirements


> Writing Test Cases
> Executing Test Cases
> Finding and Reporting Defects

Are important tasks, by understanding Requirements Testers derive Test Scenarios, Document
Test Cases, Collect Test Data, Execute Test Cases, Defect Reporting, Defct Tracking,
Confirmation Testing and Test Closure.

We use Document Software like MS Office for Test Documentation and Tester manually
perform all the tasks.
No Programming in Manual Testing, only Understanding, Documenting, Executing, Reporting,
Tracking and Confirmation of fixes and Closing all are done by Testers.

b) Automated Testing or Test Automation


> Testing Computer/Mobile Software by using any Test Tool or Test(Automation) Script.

In Automated Testing or Test Automation,


> Selecting Test Cases for Automation
> Writing Test Scripts using any Test Tool
> Executing Test Scripts (Test Tool executes Test Scripts based on User/Tester Instruction)
> Finding and Reporting Defects

Are important tasks in Automated Testing or Test Automation, By selecting Test Cases for
Automation, Testers Prepare Test Scripts using Test Tool like Selenium or UFT or RFT etc…

Tester write Test Scripts using Test Tool and programming features, Using Tester instructions
Test Tool executes Test Scripts and provide Test Results, by Analyzing the Test Result Tester
Reports Defects.

Programming Knowledge is required for Automated Testing,

Note 1: In Manual Testing we can conduct different types of Testing ex: Functional Testing,
Security Testing, Usability Testing etc. But Performance Testing is impractical in Manual Testing.

Note 2: We have different types of Automated Testing ex: Functional Test Automation using
Selenium or UFT, Performance Testing using LoadRunner or JMeter, Mobile Testing using
Appium, Web services Testing using SoapUI etc. but Usability Testing is impractical in
Automated Testing

iii) Roles and Responsibilities of Software Testing


We have different Job Titles in Software Testing that depends on the Company and Testing
Approach…

Ex:
Test Lead or Test Manager
Test Engineer or Testers

Sr. Test Engineer


Test Analyst
Automation Tester
Automation Test Analyst etc…
but important Job Titles or Test Lead and Tester…

1) Software Testing Job Responsibilities in Manual Testing:


a) Test Lead
> Understanding & Analyzing Test Requirements
> Risk Analysis
> Test Estimations (Scope, Time, Resources, Budget etc…)
> Team Formation
> Test Plan Documentation
> Configuration Management Planning
> Creating Traceability Matrices Document
> Defining Test Environment Setup
> Guidance to Team Members
> Coordinating Test Team with other stake holders of the Project
> Monitoring Test Process
> Controlling the Testing Process
> Status Reporting to Project Manager
> Preparing Test Deliverables
> Test Summary Report
Etc…
—————————————–
b) Tester
> Understanding Test Requirements
> Contribute to Test Plan Documentation
> Derive Test Scenarios
> Document Test Cases
> Update Traceability Matrices Document
> Collect Test Data
> Verify Test Environment Setup
> Create Test Batches
> Execute Test Cases (conduct differnt levels of Test Execution)
> Reporting and Tracking Defects
> Re & Regression Testing
> Collecting Test Matrices
> Test Closure
—————————————–
2) Software Testing Job Responsibilities in Automated Testing:
Jr. and Sr. Automation Testers
> Analyzing the AUT in terms of Objects or Elements Identification
> Select Test Cases for Automation
> Automated Test Environment Setup/Verify
> Automation Test Plan (Optional)
> Automation Framework Implementation
> Creating Test Automation Resources
> Creating Test Scripts (using selected Test Tool)
> Executing Test Scripts using Test Tool
> Analyzing Test Reports and Reporting Defects
> Tracking Defects and Re & Regression Testing using Test Tool
> Test Closure
> Maintenance of Test Automation Resources

Manual Testing Training Tutorial

iv) Overview of Computer and Mobile Software


Types of Computer Software:
By Interface:
a) CUI based Applications (character user interface or command-line user interface, MS DOS,
UNIX-Terminal)
b) GUI based Applications
(Graphical user interface is a type of user interface that allows users to interact with electronic
devices
through graphical icons and visual indicators)

1) Desktop Applications
(Runs on a Windows or Linux or Mac desktop computer that is set up for use in one place—such
as a desk.)

2) Web Applications
(Web Application (Web App) is an Application Software that is stored on a remote server and
delivered over
the Intranet or Internet through a Browser Interface.)
————————————————————
By Application Environment:
a) I-Tier
b) II-Tier
c) III-Tier
d) N-Tier
————————————————————
By Usage of the Software:
a) System Software
b) Programming Software
c) Application Software
Types of Mobile Software:
Three types of Mobile Software Applications

i) Native Applications
(Native Apps live on the device and are accessed through icons on the device home screen, they
are installed through an application store(such as Google Play, Apple’s App Store)
ii) Mobile Web Applications
(Web Apps are not real apps, they are web sites stored on a remote server and delivered over
the Internet through a web browser)
iii) Hybrid Applications
(Hybrid apps are like native apps, run on the device, they have integration with device’s file
system and integration with web services.)

Manual Testing Step by Step


Tutorials
Software Development Life Cycle, Software Test Levels, Software Test Types,
Software Test Design Techniques, and Software Test Process / Software Test Life
Cycle. System Testing, Functional & Non-functional Testing, and Software Quality
Standards. Software Test Planning, Software Test Design, Software Test Execution,
Software Test Closure, and Maintenance Testing.

1) Manual Testing Lesson 1 – Introduction to


Software Testing
(What is Software Testing? How to Conduct Software Testing? Static & Dynamic
Testing, Software Testing Job Titles and Software Testing Job Responsibilities.
Manual Testing Process, Manual Testing Job Responsibilities, Software Test Lead
Job Role, Software Tester Job Role and Automated Tester Job Responsibilities.)

2) Manual Testing Lesson 2 – Overview of Manual


Testing
(Introduction to Manual Testing, Phase of Software Development Life Cycle,
Software Development Life Cycle Models, Software Test Levels, Software Test
Types, Software Testing Life Cycle, Software Test Planning, Software Test Design &
Test Design Techniques, Software Test Execution and Software Test Closure.)

3) Software Development Life Cycle or Software


Development Process
(Phases of Software Development Life Cycle or Software Development Process,
Requirement Gathering, Analysis, Design, Coding, Testing and Release &
Maintenance. Gathering Requirements & Analyze, Prepare Business Requirements
Specification, Prepare Software Requirement Specification, High Level Design & Low
Level Design based on SRS, Coding based on Software Design Document, Testing
based on Requirements by QA & Testing Team and Deliver the Product, Deployment
in Customer Environment and Software Maintenance.)

4) Software Test Levels in Software Development


Process
(Software Test Levels, Unit or Component Testing, Integration Testing, System
Testing and Acceptance Testing. Unit or Component or Module or Program Testing
and Unit Testing is conducted on individual Software units by Developers using
White Box Testing Method. Integration Testing, Component Integration Testing
after Unit Testing, System Integration Testing after System Testing by Integration
Testers. System Testing on complete and integrated system by Independent
Testers using Black Box Testing Method. Acceptance Testing, Alpha & Beta Testing,
User Acceptance Testing and Operational Acceptance Testing by End Users or
Customer Representatives.)

Software Testing Life Cycle or Software Testing


Process
(Phases of Software Testing Life Cycle or Software Testing Process, Requirement
Analysis, Software Test Planning, Software Test Design, Software Test Execution
and Software Test Closure. Software Test Planning activities in Software Testing
Process, Risk Analysis, Test Estimations, Test Strategy Documentation, Test Team
Formation and Test Plan Documentation. Software Test Design activities in
Software Test Life Cycle, Derive Test Scenarios, Test Case Documentation, Test
Scripts Preparation (if applicable) and Test Data Creation.)

Introduction to ISTQB Certifications


(Introduction to Software Testing Certifications, Vendor Certifications and Vendor-
neutral certifications and Importance of Software Testing Certification. Introduction
to ISTQB Certifications, Types of ISTQB Certifications, ISTQB Foundation level
certification, ISTQB advanced level certification and ISTQB expert level
certification.)

I) Introduction
II) Software Environment
I-Tier Application
II-Tier Application
III-Tier Application
N-Tier Application

III) SDLC Models


Software Development Life Cycle
Waterfall Model
V Model
Prototype Model
Spiral Model
Agile Model
Manual Testing Step by Step Tutorials

IV) Test Levels


Unit / Component Testing
Integration Testing
System Testing
Acceptance Testing
V) Test Types
VI) Test Design Techniques
White Box Testing
Black Box Testing
Experience Based Techniques
VII) Software Test Process (STLC)
a) Test Planning
b) Test Design
c) Test Execution
d) Test Closure
VIII) Test Documents
Software Test Documentation Templates
a) Test Policy
b) Test Strategy Document
c) Test Plan Document
d) Test Scenarios
e) Test Case Document
f) Defect Report
g) Test Metrics Document
h) Test Summary Report
IX) Informal Testing
X) Quality Standards
a) ISO
b) IEEE
c) CMM/CMMI
XI) Software Business Domains
a) Banking Domain
b) Insurance
c) ERP
d) Telecom
e) Healthcare
f) E-commerece
g) Retail Market
h) System Software