Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Assignment 4

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

ASSIGNMENT 4

1.What is Software Quality? What are different factors


used to measure software quality? List the various
software quality attributes and explain briefly?

Software quality is defined as a field of study and practice that describes the desirable
attributes of software products. There are two main approaches to software quality: defect
management and quality attributes.

McCall’s Factor Model

This model classifies all software requirements into 11 software quality factors. The 11
factors are grouped into three categories – product operation, product revision, and product
transition factors.

● Product operation factors − Correctness, Reliability, Efficiency,


Integrity, Usability.
● Product revision factors − Maintainability, Flexibility,
Testability.
● Product transition factors − Portability, Reusability,
Interoperability.

High scores in Software Quality Attributes enable software architects to guarantee that a
software application will perform as the specifications provided by the client.

Availability

This attribute is indicative as to whether an application will execute the tasks it is assigned to
perform. Availability also includes certain concepts that relate to software security,
performance, integrity, reliability, dependability, and confidentiality. In addition, top-notch
availability indicates that a software-driven system will repair any operating faults so that
service outage periods would not exceed a specific time value.

Interoperability

Software-driven systems could be required to communicate and act in tandem to solve certain
tasks. Interoperability describes the ability of two systems to engage in the exchange of
information via certain interfaces. Therefore, Software Quality Assurance engineers must
examine the interoperability attribute in terms of both syntactic and semantic interoperability.

Performance

This attribute pertains to the ability of a software-driven system to conform to timing


requirements. From a testing point of view, it implies that Software Testing engineers must
check whether the system responds to various events within defined time limits. These events
may occur in the form of clock events, process interruptions, messages, and requests from
different users, and others.

Testability

Software testability indicates how well a software-driven system allows Software Testing
professionals to conduct tests in line with predefined criteria. This attribute also assesses the
ease with which Software Quality Assurance engineers can develop test criteria for a said
system and its various components. Engineers can assess the testability of a system by using
various techniques such as encapsulation, interfaces, patterns, low coupling, and more.

Security

This attribute measures the ability of a system to arrest and block malicious or unauthorized
actions that could potentially destroy the system. The attribute assumes importance because
security denotes the ability of the system to protect data and defend information from
unauthorized access. Security also includes authorization and authentication techniques,
protection against network attacks, data encryption, and such other risks. It is imperative for
Software Testing professionals to regularly conduct updated security checks on systems.

Usability

Every software-driven system is designed for ease of use to accomplish certain tasks. The
attribute of usability denotes the ease with which users are able to execute tasks on the
system; it also indicates the kind of user support provided by the system. The most well-
known principle for this property is KISS (Keep It Simple Stupid). In addition, Software
Quality Assurance engineers must test software to check whether it supports different
accessibility types of control for people with disabilities. Usability has a critical and long
standing bearing on the commercial fortunes of a software application or package.

Functionality

This attribute determines the conformity of a software-driven system with actual


requirements and specifications. Most Software Testing professionals view this attribute as
crucial and a foremost requirement of a modern application, and would therefore advocate the
performance of tests that assess the desired functionality of a system in the initial stages of
Software Testing initiatives.

2.What is Software Reliability? State its significance in


software testing and quality assurance?
Software Reliability is the probability of failure-free software operation for a specified period
of time in a specified environment. Software Reliability is also an important factor affecting
system reliability. It differs from hardware reliability in that it reflects the design perfection,
rather than manufacturing perfection. The high complexity of software is the major
contributing factor of Software Reliability problems. Software Reliability is not a function of
time - although researchers have come up with models relating the two. The modeling
technique for Software Reliability is reaching its prosperity, but before using the technique,
we must carefully select the appropriate model that can best suit our case. Measurement in
software is still in its infancy. No good quantitative methods have been developed to
represent Software Reliability without excessive limitations. Various approaches can be used
to improve the reliability of software, however, it is hard to balance development time and
budget with software reliability.

3.What is Software quality assurance(SQA)? What are


the main activities of SQA plan?How are these
ensured? State the need for SQA plan.Specify the
various people involved in the SQA group and also
point out their role?
Software Quality Assurance (SQA) is a set of activities for ensuring quality in software
engineering processes. It ensures that developed software meets and complies with the
defined or standardized quality specifications. SQA is an ongoing process within the
Software Development Life Cycle (SDLC) that routinely checks the developed software to
ensure it meets the desired quality measures.

It includes the following activities −

● Process definition and implementation


● Auditing
● Training

Ensured by following processes-

● Software Development Methodology


● Project Management
● Configuration Management
● Requirements Development/Management
● Estimation
● Software Design
● Testing, etc.

NEED OF SQA-
As a Test Manager, you are the person who takes in charge of these activities. However, you
are at the highest position in the project team. Who will review your tasks and check if the
project management activities are executed to the highest standard?

Well, SQA auditor is the person who reviews and checks the project management activities
are executed to the highest possible standard. Only through the result of this review, the
Management Board can evaluate the quality of your project handling.

This is the reason why we do need Management Review or SQA in Test Management
process.

The SQA interviews you, the Test Manager, to benchmark the project against set standards

PEOPLE INVOLVED-

The SQA organizational base includes managers, testing personnel, the SQA unit and the
persons interested in software quality such as SQA trustees, SQA committee members, and
SQA forum members. Their main objectives are to initiate and support the implementation of
SQA components, detect deviations from SQA procedures and methodology, and suggest
improvements..

4.What are the effective methods to ensure the success


of SQA?
Here are some best practices for an effective SQA implementation

● Continuous improvement: All the standard process in SQA must be improved


frequently and made official so that the other can follow. This process should be
certified by popular organization such as ISO, CMMI… etc.
● Documentation: All the QA policies and methods, which are defined by QA team,
should be documented for training and reuse for future projects.
● Experience: Choosing the members who are seasoned SQA auditors is a good way to
ensure the quality of management review
● Tool Usage: Utilizing tool such as the tracking tool, management tool for SQA
process reduces SQA effort and project cost.
● Metrics: Developing and creating metrics to track the software quality in its current
state, as well as to compare the improvement with previous versions, will help
increase the value and maturity of the Testing process
● Responsibility: The SQA process is not the SQA member’s task, but everyone’s
task. Everybody in the team is responsible for quality of product, not just the test lead
or manager.

5.Some people argue that an FTR should assess


programming style as well as correctness. Is this a good
idea? Why?
Formal Technical Review (FTR) is a software quality control activity performed by
software engineers.

Objectives of formal technical review (FTR):

Some of these are:

● Useful to uncover error in logic, function and implementation for any representation
of the software.
● The purpose of FTR is to verify that the software meets specified requirements.
● To ensure that software is represented according to predefined standards.
● It helps to review the uniformity in software that is development in a uniform manner.
● To makes the project more manageable.

In addition, the purpose of FTR is to enable junior engineer to observer the analysis, design,
coding and testing approach more closely. FTR also works to promote back up and continuity
and become familiar with parts of software they might not have seen otherwise.

Actually, FTR is a class of reviews that include walkthroughs, inspections, round robin
reviews and other small group technical assessments of software. Each FTR is conducted as a
meeting and is considered successfully only if it is properly planned, controlled and attended.

Yes FTR should assess programming style and correctness to ensure correctness and
uniformity.

You might also like