Assignment No 2
1. Explain the Role of a Test Manager with an example
The Test Manager is a crucial leadership role in the software testing lifecycle. They are
responsible for managing, planning, monitoring, and controlling the testing activities within
a project. They ensure that the testing team delivers a high-quality product within the
agreed timeline and budget.
Key Responsibilities:
Test Planning & Strategy: Defining the overall test strategy, scope, and objectives for the
project.
Resource Management: Identifying the required skills, building the test team, and
allocating tasks.
Test Estimation & Scheduling: Estimating the time, effort, and budget required for
testing phases.
Risk Management: Identifying potential project risks and developing mitigation
strategies.
Reporting & Metrics: Tracking testing progress, defect rates, and providing status
reports to stakeholders.
Example:
Imagine a company is developing a new E-commerce Mobile App.
- The Test Manager will first review the requirements and decide that the app needs Manual
Functional Testing, Automated Regression Testing, and Performance Testing.
- They will write the Test Plan, assigning two testers to manual UI testing, one automation
engineer for regression, and a performance engineer to simulate heavy holiday traffic.
- During execution, if the login module has a high defect rate, the Test Manager will allocate
more time to that area, communicate the delay to the Project Manager, and provide a final
"Go/No-Go" quality report before launch.
Diagram:
[Stakeholders / Project Manager] -> (Reports & Metrics) -> [Test Manager] -> (Defines
Strategy & Plan) -> (Manages & Allocates) -> [Manual Testers] / [Automation Engineers] /
[Performance Engineers]
2. Discuss Unit Testing & Integration Testing
These are the first two foundational levels of dynamic software testing, typically executed
before system testing.
Unit Testing:
Definition: The process of testing individual, isolated components, modules, or functions
of software to ensure they work correctly on their own.
Executor: Usually performed by the software developers themselves.
Approach: White-box testing technique (the tester has access to the internal source
code).
Advantage: Catches bugs early in the development cycle, which are cheaper and easier
to fix.
Integration Testing:
Definition: The process of combining individual units/modules and testing them as a
group to expose faults in the interaction and data flow between them.
Executor: Can be performed by developers or dedicated testers.
Approach: Can utilize both white-box and black-box testing techniques. Common
strategies include Top-down, Bottom-up, and Big Bang integration.
Advantage: Ensures that modules developed by different programmers function
correctly when integrated together.
Diagram:
[Module A] (Unit Testing) + [Module B] (Unit Testing) ---> [Module A + Module B]
(Integration Testing)
3. Differentiate between Verification & Validation
Verification and Validation (V&V) are two distinct processes used together to ensure that a
software system meets its specifications and fulfills its intended purpose.
Feature Verification Validation
Core Question "Are we building the "Are we building the right
product right?" product?"
Definition The process of evaluating The process of evaluating
intermediate work products the final software product
to check whether they meet to check whether it meets
the specified requirements the business needs and user
of that phase. requirements.
Nature of Testing Static Testing (Does not Dynamic Testing (Involves
involve executing the code). executing the compiled
code).
Methods Used Reviews, walkthroughs, Black-box testing, white-
inspections, and desk- box testing, user acceptance
checking of documents. testing (UAT).
Timing Takes place first, during the Takes place later, after the
early stages of development phase is
development. complete.
Target Focuses on architecture, Focuses on the actual
design documents, database software application.
design, and specifications.
4. Explain the Test Plan Development Process
A test plan is a comprehensive document detailing the objectives, resources, schedule, and
processes for a testing project. The development of this plan is a systematic process
consisting of several steps:
1. Analyze the Product: Before planning, the test team must thoroughly understand the
product, its users, and the business rules.
2. Design the Test Strategy: Determine the overarching approach (e.g., manual vs.
automated, types of testing).
3. Define Test Objectives and Scope: Clearly outline what will be tested (In-scope) and
what will not be tested (Out-of-scope).
4. Define Test Criteria: Entry Criteria (what must be ready before testing) and
Exit/Suspension Criteria (when to stop testing).
5. Resource Planning: Identify hardware, software tools, test environments, and human
resources needed.
6. Plan Test Environment: Detail specific configurations required to mimic the production
environment.
7. Schedule and Estimation: Create a timeline for test case creation, execution, and
reporting.
Diagram:
[Analyze Product] -> [Design Strategy] -> [Define Scope & Objectives] -> [Define Test
Criteria] -> [Resource Planning] -> [Plan Test Environment] -> [Estimate & Schedule]
5. Write a Test Case for a Bank ATM
Scenario: Cash Withdrawal by a valid user with sufficient balance.
Pre-conditions: The ATM has sufficient cash, is connected to the network, and the user
possesses a valid ATM card with an active account containing $500.
Test Case ID Test Steps Expected Result Actual Result Status
TC_ATM_001 1. Insert valid System As Expected Pass
ATM card. prompts for the
4-digit PIN.
2. Enter correct System As Expected Pass
4-digit PIN. authenticates
and displays
main menu.
3. Select "Cash System As Expected Pass
Withdrawal" prompts for
option. account type
and amount.
4. Select System As Expected Pass
"Checking" and processes
enter "$100". transaction and
dispenses $100.
5. Collect the System As Expected Pass
cash. prompts asking
if receipt is
needed.
6. Select "Yes" System prints As Expected Pass
for receipt. receipt and
ejects card.
6. How can you classify the role of software?
Software can be broadly classified based on its role, function, and the domain it serves. The
primary classifications include:
8. System Software: The foundational software that manages computer hardware and
provides a platform for application software (e.g., Operating Systems, device drivers).
9. Application Software: Software designed to perform specific tasks or solve specific
problems for the end-user (e.g., Word processors, web browsers).
10. Engineering & Scientific Software: Characterized by complex number crunching
algorithms and heavy data processing (e.g., CAD software).
11. Embedded Software: Resides within a product or system to control features and
functions for the end user (e.g., Microwave oven controls).
12. Web and Mobile Applications: Software accessed via a web browser over a network or
downloaded to mobile devices (e.g., E-commerce sites, banking apps).
13. Artificial Intelligence Software: Uses non-numerical algorithms to solve complex
problems (e.g., Expert systems, machine learning models).
7. Differentiate between Test Plan & Test Strategy
Feature Test Strategy Test Plan
Definition A high-level document that A specific document
defines the overall detailing the scope,
approach, testing types, and schedule, resources, and
testing standards for an exact approach for a single
organization or a large project or software release.
program.
Level Organization or Program Project or Release level.
level.
Creator Usually developed by the Usually developed by the
Project Manager, QA Test Lead or Test Manager.
Director, or Test Architect.
Flexibility Static. Once defined, it Dynamic. Can change
rarely changes. frequently as the project
evolves.
Focus Answers "What is the Answers "How, when, and
general approach?" who will test this specific
software?"
Components Testing methodologies, tool Features to be tested,
selection guidelines, risk specific test schedules, test
mitigation standards. environments, defect
tracking processes.