Assignment 2 QA
Assignment 2 QA
M. Sarfraz
Differentiate between a project and a product in the context of software development. Provide
examples to support your explanation.
Definition:
A project in software development is a temporary attempt with a defined start and end date,
aimed at creating a specific outcome, such as a new feature, tool, or system. Projects are
often unique and are defined by constraints like scope, resources, and time.
Scope:
Projects have a limited scope and are goal-oriented, focusing on delivering a specific result
within a timeline. Once the objectives are achieved, the project ends.
Example:
Developing a new feature for a mobile banking app, like adding a digital wallet, would be a
project.
1.1. Product Definition and Scope
Definition:
A software program or service that is continuously created, maintained, and enhanced to
satisfy client or market demands is referred to as a product. Products, as compare to
projects, are produced for use continuously and usually last more.
Scope:
Products are published in versions and are continually enhanced by user input, updates,
and feature upgrades.
Example:
Microsoft Word is a product since it is continuously improved, maintained, and updated,
with new features and versions being included on a regular basis.
Product Lifecycle:
The introduction, growth, maturity, and decline phases of a product's lifecycle are more
extensive and driven by the market. It is ongoing and frequently involves cycles of end-user
input, upgrades, and iterations.
2. Project Lifecycle’s Impact on Testing Timelines and QA Planning
The projects set timeline places guidelines on testing and QA planning. Testing that
deliverables match criteria is the main goal of QA activities, which are typically concentrated
close to the project's finale. Usually, testing has a short timetable with the goal of being
completed before the project is closed.
3. Product Lifecycle Considerations for Testing
To provide long-term quality, scalability, and adaptability, product testing is continuous and
changes with each stage of the lifecycle. With each release, QA must always take customer
input, maintenance, and upgrades into account.
Explain the differences between Quality Assurance (QA) and Quality Control (QC) in
software testing. Provide examples to illustrate each.
Answer:
Quality Assurance (QA) and Quality Control (QC) are two distinct aspects of software testing,
though they are often used interchangeably. Both are essential for delivering high-quality
software, but they focus on different areas of the software development lifecycle.
Definition
Quality Assurance (QA):The proactive purpose of quality assurance is to stop errors. To ensure
that quality is ingrained in the software development process from the start, a set of protocols,
guidelines, and standards must be implemented.
Quality Control (QC): QC is a responsive procedure that aims to find and address flaws in the
finished product. It includes running out tests to see whether the program satisfies the necessary
requirements and standards.
Goal:
QA: works to improve and set up software development procedures to avoid mistakes and flaws.
QC: works to identify errors in the finished product and confirm that it satisfies the necessary
quality requirements.
Scope:
QA: is more comprehensive and covers each step of the software development lifecycle, from
conception to execution.
QC: focused on the product itself, usually toward the conclusion of the development cycle
before release.
Approach:
QA: Process-oriented, ensuring proper development procedures are followed.
QC: Product-oriented, ensuring the final product is defect-free.
Techniques:
QA: Involves process audits, training, reviews, and setting standards.
QC: Involves actual testing, like functional, performance, unit, and system testing.
Examples:
QA: Ensures adherence to methodologies (Agile), enforces coding standards, and sets up testing
tools.
QC: Conducts tests to detect UI, functional, or performance issues in the product.
Task 3: Criteria of Tool Selection in QA (10)
List and describe at least five criteria that should be considered when selecting tools for QA
activities.
When selecting a QA tool, it's critical to make sure it improves product quality and fits the
project's requirements. Here are six essential requirements:
Ease of Use:
For team members, the tool should be simple, easy to use, and easy to set up. Complicated tools
might slow production and deter use.
Example, JIRA makes it simple to monitor tasks and issues in Agile workflows.
Scalability:
As the project progresses, the tool ought to be able to accommodate more tests, intricate
procedures, and more users as required.
Example, when projects expand, Jenkins may grow to accommodate growing test loads and
users.