Manual Testing Lesson 1 – Introduction to Software Testing

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…

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
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.)

Follow me on social media: