What is a bug?
In software testing, a bug is the informal name of defects, which means
that software or application is not working as per the requirement. When
we have some coding error, it leads a program to its breakdown, which is
known as a bug. The test engineers use the terminology Bug.
If a QA (Quality Analyst) detect a bug, they can reproduce the bug and
record it with the help of the bug report template.
What is a Defect?
When the application is not working as per the requirement is knows
as defects. It is specified as the aberration from the actual and
expected result of the application or software.
In other words, we can say that the bug announced by
the programmer and inside the code is called a Defect.
What is Error?
The Problem in code leads to errors, which means that a mistake can
occur due to the developer's coding error as the developer misunderstood
the requirement or the requirement was not defined correctly.
The developers use the term error.
What is Fault?
The fault may occur in software because it has not added the code for
fault tolerance, making an application act up.
A fault may happen in a program because of the following reasons:
ADVERTISEMENT
o Lack of resources
o An invalid step
o Inappropriate data definition
What is Failure?
Many defects lead to the software's failure, which means that a loss
specifies a fatal issue in software/ application or in its module, which
makes the system unresponsive or broken.
In other words, we can say that if an end-user detects an issue in the
product, then that particular issue is called a failure.
Possibilities are there one defect that might lead to one failure or several
failures.
For example, in a bank application if the Amount Transfer module is not
working for end-users when the end-user tries to transfer money, submit
button is not working. Hence, this is a failure.
CASE TOOLS
CASE stands for Computer Aided Software Engineering. It means,
development and maintenance of software projects with help of
various automated software tools.
CASE tools are set of software application programs, which are used
to automate SDLC activities. CASE tools are used by software
project managers, analysts and engineers to develop software
system.
There are number of CASE tools available to simplify various stages
of Software Development Life Cycle such as Analysis tools, Design
tools, Project management tools, Database Management tools,
Documentation tools are to name a few.
Use of CASE tools accelerates the development of project to
produce desired result and helps to uncover flaws before moving
ahead with next stage in software development.
Components of CASE Tools
CASE tools can be broadly divided into the following parts based on
their use at a particular SDLC stage:
Central Repository - CASE tools require a central repository, which
can serve as a source of common, integrated and consistent
information. Central repository is a central place of storage where
product specifications, requirement documents, related reports and
diagrams, other useful information regarding management is stored.
Central repository also serves as data dictionary.
Upper Case Tools - Upper CASE tools are used in planning,
analysis and design stages of SDLC.
Lower Case Tools - Lower CASE tools are used in implementation,
testing and maintenance.
Integrated Case Tools - Integrated CASE tools are helpful in all
the stages of SDLC, from Requirement gathering to Testing and
documentation.
Case Tools Types
1. Diagram tools : These tools are used to represent system
components, data and control flow among various software
components and system structure in a graphical form. For example,
Flow Chart Maker tool for creating flowcharts.
2.Process Modeling Tools :Process modeling is method to create
software process model, which is used to develop the software. Process
modeling tools help the managers to choose a process model or modify it
as per the requirement of software product. For example, EPF Composer
3.Project Management Tools : These tools are used for project
planning, cost and effort estimation, project scheduling and resource
planning. For example, Creative Pro Office, Trac Project, Basecamp.
4. Documentation Tools : Documentation in a software project starts
prior to the software process, goes throughout all phases of SDLC and
after the completion of the project. Documentation tools generate
documents for technical users and end users. For example, Doxygen,
DrExplain, Adobe RoboHelp for documentation
5. Analysis Tools : These tools help to gather requirements,
automatically check for any inconsistency, inaccuracy in the diagrams,
data redundancies or erroneous omissions. For example, Accept 360,
Accompa, CaseComplete for requirement analysis, Visible Analyst
for total analysis.
6.Design Tools :These tools help software designers to design the block
structure of the software, which may further be broken down in smaller
modules using refinement techniques. These tools provides detailing of
each module and interconnections among modules. For example,
Animated Software Design
7.Configuration Management Tools : An instance of software is
released under one version. Configuration Management tools deal with –
Version and revision management
Baseline configuration management
Change control management
CASE tools help in this by automatic tracking, version management
and release management. For example, Fossil, Git, Accu REV.
8.Change Control Tools : These tools are considered as a part of
configuration management tools. They deal with changes made to the
software after its baseline is fixed or when the software is first released.
CASE tools automate change tracking, file management, code
management and more. It also helps in enforcing change policy of the
organization.
9.Programming Tools :These tools consist of programming
environments like IDE (Integrated Development Environment), in-built
modules library and simulation tools. These tools provide comprehensive
aid in building software product and include features for simulation and
testing. For example, Cscope to search code in C, Eclipse.
10. Prototyping Tools :Software prototype is simulated version of the
intended software product. Prototype provides initial look and feel of the
product and simulates few aspect of actual product. Prototyping CASE
tools essentially come with graphical libraries. They can create hardware
independent user interfaces and design. These tools help us to build rapid
prototypes based on existing information. In addition, they provide
simulation of software prototype. For example, Serena prototype
composer, Mockup Builder.
11. Web Development Tools :These tools assist in designing web pages
with all allied elements like forms, text, script, graphic and so on. Web
tools also provide live preview of what is being developed and how will it
look after completion. For example, Fontello, Adobe Edge Inspect,
Foundation 3, Brackets.
12. Quality Assurance Tools: Quality assurance in a software
organization is monitoring the engineering process and methods adopted
to develop the software product in order to ensure conformance of quality
as per organization standards. QA tools consist of configuration and
change control tools and software testing tools. For example, SoapTest,
AppsWatch, JMeter.
13. Maintenance Tools :Software maintenance includes modifications in
the software product after it is delivered. Automatic logging and error
reporting techniques, automatic error ticket generation and root cause
Analysis are few CASE tools, which help software organization in
maintenance phase of SDLC. For example, Bugzilla for defect tracking,
HP Quality Center.