2 Mark Questions
1) State Testing- Meaning and purpose.
Meaning:
● Software testing is a process of verification and validation used to
evaluate a software item or system.
● It is a set of planned activities that involves executing the software to find
differences between the actual results (given input) and the expected
results.
Purpose:
The primary purpose of testing is to uncover errors and defects that were
inadvertently introduced during design and construction, thereby assessing
and ensuring the overall quality of the product.
2) List the phases of software quality assurance.
a) Plan: Prepare a comprehensive SQA plan for the project.
b) Process Definition: Participate in developing the project’s software
process description.
c) Activity Review: Review software engineering activities to verify
compliance with the defined software process.
d) Product Audit: Audit designated software work products to verify their
compliance with the process.
e) Deviation Handling: Ensure that any deviations in work or products are
documented and handled according to procedure.
f) Reporting: Record any non-compliance and report it to senior
management.
3) Difference between Software Quality Management and Software Quality
Assurance.
Aspect Software Quality Software Quality
Management (SQM) Assurance (SQA)
Definition A broad approach ensuring A subset of SQM that verifies
quality throughout the entire processes are followed &
process. standards are met.
Focus Establishing quality policies Monitoring and auditing
and objectives. processes for compliance.
Scope Encompasses the entire Focuses on verification and
SDLC. validation activities.
Goal To deliver a high-quality To ensure a high-quality
product. development process.
4) State project cost estimation approach.
a) Heuristic Estimation Approach: This approach utilizes mathematical
models, such as single or multi-variable formulas (e.g., COCOMO), which
assume a predictable relationship among different project parameters to
calculate estimates.
b) Analytical Estimation Approach: This approach derives estimates using
scientific principles and basic assumptions about the software itself, like
Halstead’s software science, rather than relying on historical project data.
c) Empirical Estimation Approach: This technique uses empirically derived
formulas based on historical data and experience from similar past projects
to make an educated guess about project parameters.
5) State four basic principles of software project scheduling.
(a)Compartmentalization: Break project down into smaller, manageable
tasks.
(b)Interdependency: Identify which tasks depend on others and which can
run in parallel.
(c)Time Allocation: Assign effort, a start date, and an end date to every task.
(d)Effort Validation: Ensure staff resources are not over-allocated at any
given time.
(e)Defined Responsibilities: Assign each task to a specific team member.
(f) Defined Outcomes: Ensure every task has a clear, tangible output or work
product.
(g)Defined Milestones: Associate tasks with key project milestones to track
progress.
4 Mark Questions
1) State project size estimation techniques and explain any one.
Project Size Estimation Techniques
Two primary techniques are popularly used to estimate the size of a software
project:
● Lines of Code (LOC)
● Function Point (FP)
Explanation: Function Point (FP) Analysis
Function Point (FP) analysis is a method that estimates software size based
on the functionality delivered to the user, rather than the length of the code.
The core idea is that a software's size is directly related to the number and
complexity of the features it provides.
This technique involves a systematic process:
A) Identify Core Components: The system's functionality is quantified by
counting five specific parameters:
● Number of external inputs (e.g., data entry screens).
● Number of external outputs (e.g., reports, notifications).
● Number of external inquiries (e.g., search queries).
● Number of internal logical files (data structures used by the system).
● Number of external interface files (files shared with other systems).
B) Calculate Complexity: Each of these counts is then weighted based on its
complexity to produce an Unadjusted Function Point (UFP).
C)Apply Technical Factors: The UFP is then adjusted by a Technical
Complexity Factor (TCF), which accounts for 14 non-functional
characteristics like system performance, reusability, and transaction rates.
The final Function Point (FP) count provides a language-independent
measure of the software's size, which can then be used to estimate project
cost and effort.
2) Describe critical path method with suitable example.
The Critical Path Method (CPM) is a project management technique for
scheduling. It uses a network diagram to visually map out a project's tasks,
their durations, and their dependencies.
The critical path is the longest sequence of dependent tasks through this
network, and its total duration determines the project's minimum completion
time. Tasks on this path are considered critical because they have zero
slack, meaning any delay in them will directly delay the entire project. This
helps managers identify which activities require the strictest monitoring to
keep the project on schedule.
Example:
● Path 1 (Top Route): This path goes through the top two tasks.
Duration = 1 Day + 2 Days = 3 Days
● Path 2 (Middle Route): This is a direct path with a single task.
Duration = 1 Day
● Path 3 (Bottom Route): This path consists of three sequential tasks.
Duration = 1 Day + 2 Days + 1 Day = 4 Days
3) Explain the following 4P's management spectrum.
Effective software project management focuses on four key areas: People,
Product, Process, and Project.
A] The People
● This factor emphasizes the importance of the team, using models like
the People CMM to guide the attraction, development, and motivation
of skilled personnel.
● It involves managing key practices such as effective staffing, clear
communication, and continuous training to build a competent and
organized team.
B] The Product
● This requires a clear definition of the software's objectives and scope
before any planning can commence, establishing the goals and
boundaries.
● This initial step is critical for developing accurate cost estimates,
assessing risks, and creating a realistic and manageable project
schedule.
C] The Process
● The process provides the structured framework and set of activities
from which a comprehensive software development plan is
established.
● This framework includes both core development tasks and essential
umbrella activities, such as software quality assurance (SQA) and
configuration management, that occur throughout the project.
D] The Project
● The project is the overall effort to plan, monitor, and control the
development work, managing complexity to achieve the final goals.
● Success depends on avoiding common pitfalls by applying a
disciplined approach to planning, monitoring, and controlling all
activities from start to finish.
4) Describe six sigma and state the phases of DMAIC and DMADV.
Six Sigma is a data-driven quality management method that systematically
identifies and eliminates the root causes of defects to reduce process
variability. It uses statistical tools to achieve a quality standard of no more
than 3.4 defects per million opportunities, driving significant improvements in
product and service quality.
Six Sigma utilizes two primary methodologies, DMAIC for existing processes
and DMADV for new processes.
(a)DMAIC Phases
● Define: Define the problem, customer requirements, and project goals.
● Measure: Measure key aspects of the current process and collect
relevant data.
● Analyze: Analyze the collected data to investigate and determine the
root causes of defects.
● Improve: Improve the process by creating solutions that will eliminate
the root causes.
● Control: Control the improved process to ensure that defects do not
recur.
(b)DMADV Phases
● Define: Defines the problem or project goal to be addressed.
● Measure: Measures and determines the customer's needs and
specifications.
● Analyze: Analyzes the process to meet customer needs.
● Design: Designs a process that will meet customer needs.
● Verify: Verifies the design performance and ability to meet customer
needs.
5) Describe RMMM strategy.
The RMMM plan is a formal strategy that documents how a project team will
handle risks. It outlines the following components:
Risk Mitigation
● Proactive Problem Avoidance: It is the core of risk mitigation. It involves
developing strategies to prevent risks from occurring in the first place.
● Strategy Development: This includes creating specific action plans to
reduce the likelihood or impact of identified risks. For example, to mitigate
the risk of high staff turnover, a company might improve working conditions
or offer more competitive salaries.
Risk Monitoring
● Tracking and Assessment: This involves continuously tracking the
project to see if the predicted risks are materializing.
● Verification and Data Collection: It ensures that the risk mitigation steps
are being implemented correctly and gathers data that can be used for
future risk analysis on other projects.
Risk Management and Contingency Planning
● Reactive Planning: This part of the plan comes into play when a risk
becomes a reality. It outlines the contingency plans that will be executed.
● Problem Management: This focuses on managing the impact of the
problem after it has occurred and ensuring business continuity. This could
involve, for instance, having backup staff ready to step in if a key team
member leaves.
6 Mark Questions
1) Differences between black box testing and white box testing.
Aspect Black Box Testing White Box Testing
Knowledge The internal code structure is The internal code structure is
Required unknown ("hidden"). fully known.
Prerequisite Code implementation is not Code implementation is
required to create test cases. necessary for testing.
Performed Primarily performed by Primarily performed by software
By software testers. developers.
Perspective An external or "outer" view of An internal or "inner" view of
the software. the software.
Test Type A functional test that A structural test that validates
validates behavior. code logic.
Basis for Based on the requirement Based on the detailed design
Testing specifications document. document.
Applicable Applied to higher levels Applied to lower levels (Unit,
Level (System, Acceptance Integration testing).
testing).
Also Known Closed Box Testing. Clear Box Testing or Glass Box
As Testing.
Time Generally less Can be very time-consuming.
Consumptio time-consuming.
n
Common Functional, Non-functional, Path, Loop, and Condition
Types and Regression testing. testing.
Exhaustive Less exhaustive, as it doesn't More exhaustive, as it aims for
ness cover all code paths. code coverage.
2) Explain CMMI with neat diagram.
The Capability Maturity Model Integration (CMMI) is a comprehensive process
meta-model based on a set of system and software engineering capabilities
that organizations should possess as they reach different levels of process
capability and maturity.
The CMMI represents a process meta-model in two different ways:
1. Continuous Model
2. Staged Model
Continuous CMMI Meta-Model
● Describes a process in two dimensions.
● Each process area (e.g., project planning or requirements management) is
formally assessed against specific goals and practices.
● Each process area is rated according to the following capability levels:
Level 1: Initial
● The software process is ad hoc and occasionally chaotic.
● Few processes are defined, and success depends on individual effort.
Level 2: Repeatable
● Basic project management processes are established to track cost,
schedule, and functionality.
● Necessary process discipline is in place to repeat earlier successes on
projects with similar applications.
Level 3: Defined
● The software process for both management and engineering activities is
documented, standardized, and integrated into an organization-wide
software process.
● All projects use a documented and approved version of the organization's
process for developing and supporting software.
● Includes all characteristics defined for Level 2.
Level 4: Managed
● Detailed measures of the software process and product quality are
collected.
● Both the software process and products are quantitatively understood and
controlled using detailed measures.
● Includes all characteristics defined for Level 3.
Level 5: Optimizing
● Continuous process improvement is enabled by quantitative feedback from
the process and from testing innovative ideas and technologies.
● Includes all characteristics defined for Level 4.
A software example of CMMI is Tata Consultancy Services (TCS), which used
CMMI to improve its software development processes and achieve CMMI
Maturity Level 5.
This allowed TCS to consistently deliver high-quality software and increase
efficiency by implementing standardized processes for requirements
management, quality assurance, and verification to meet client needs.
3) Use COCOMO model to calculate i) Effort ii) Development time if
estimated size of project is 500 KLOC using organic, Semi-detached and
Embedded mode.