Ñîâðåìåííûå èíôîðìàöèîííûå
òåõíîëîãèè/3.Ïðîãðàììíîå îáåñïå÷åíèå
Bilas O., Mokrousov M.
Lviv Polytechnic National University, Ukraine
Software defects emulator for web-systems testing learning
Introduction
Quality
assurance engineers are facing with different types of defects during testing
software. Some defects are more obvious, for example incorrect name of graphic
user interfaces elements, or less obvious, as mistakes with realization of
logic algorithm, internal inconsistencies variables or regulations programming.
Software
defects finding and identification are complicated for associate testing
engineers, especially, if they had not come across them before. Whereas the
cost of defects fixing is exponential proportional to the time or phase of
finding errors it’s critically important to find error as early as it possible [1].
Software defect types
Knowing
types of software defects and their appearance is important for effective
testing. IBM Company developed the approach to errors classification, called
orthogonal defect classification for these reasons [2]. Classification does not
depend on the product and organization design, it can be applied to all
processes and projects type. (Fig. 1)

Fig.1. Orthogonal
software defects classification by IBM
Classification
of defects investigated by IBM will be taken into account for the software
defects emulator system which planned to use for learning purposes. Additionally,
several specific for Web-based systems types of defects will be introduced in
learning emulator.
Software defect emulating learning system
The
following types of Web-systems software defects will be investigated in the
learning emulator:
•
Defects of localization - modern
technology allows to know from which part of the world user come to the portal
and accordingly change their content for it on the server side. ASP.NET
technology has a special namespace System.Globalization
to work with localization. Consequently, the variable location of the end user
will not be translating some texts in the system.
•
SQL injection - to simulate this error
should not check data link user in MS SQL Server.
•
Loading defects - after the web site crash
system cannot be recovered at the specified time according to requirements.
This situation can be emulated in two ways:
1) Program -
Site automatically terminates the connection with users and through a
"time-out" again starts normally.
2) Hardware -
hardware reboots and automatically launches web portal on the server.
•
Security defects - software developers
are not used or used improperly third party cryptographic library. Used
encryption algorithm can be broken by the time when the system is used, in that
case the team that support the software to change the algorithm time. In
practice, there are situations when the software systems store their valuable
data in non-protected areas.
•
Logic defects - any discrepancy with the
specification of the system requirements are a logical type defects.
•
GUI defects - simple example of such
defect are a wrong name of buttons. Worse example is the situation when the element
for navigation closes a button and the user is not able to click it.
•
Compatible browsers defects - Web browser
Internet Explorer 8.0 does not fully support HTML 5 markup language. To solve
this problem it is need to do the inspection on the page from which the user
browses and ask him to change the browser, if not supported.
Those types of
software defects will be especially emulated to trainee associate engineers or
students with purpose of finding and identifying such defects.
Open source
projects were searched on web-portal http://sourceforge.net/.
Three most popular web open-source projects were chosen:
Drupal - Open source content management
platform powering millions of websites and applications. It’s built, used, and
supported by an active and diverse community of people around the world.
ImpressPages CMS - ImpressPages CMS is a
web content management system (CMS) with drag&drop interface and in-place
content editing.
webEdition CMS - webEdition is a WCMS
(Web Content Management System) written in PHP and using MySQL
All those
projects use Jira as bug-tracking system. About 250 defects from those systems
were investigated and prepared investigation statistic (Table 1). Distribution
of defects by type and fix time on issue were taking into account.
Table
1.
Distribution of defects and fix time on issue
|
|
Location
Defects |
SQL
injection |
Loading
Defects |
Security
Defects |
Logic
Defects |
GUI
Defects |
Compatible
Defects |
|
Count |
3 |
1 |
3 |
11 |
131 |
15 |
31 |
|
Average
time on fix |
6h |
5h |
16h |
23h |
4h |
2h |
14h |
So, as can be see some bugs happen rare but cost more developer’s time
on fix so different type of bugs needs different efforts. Every type of bug gets
different factor value that calculates by formula:
Points = ((100 - percentage of bug) * average time spend on fix
bug)/100
Table
2. Bug types points
|
|
Location
Defects |
SQL
injection |
Loading
Defects |
Security
Defects |
Logic
Defects |
GUI
Defects |
Compatible
Defects |
|
Valuable
points |
6 |
5 |
16 |
22 |
2 |
2 |
12 |
Emulating learning system
analyzes results of students and testers and calculates found defects rate
(Fig.2).

Fig.2. Found defects rate
according to Software defects emulating
learning system
Proposed Software
defects emulating learning system could be used with
learning purposes. Such emulator can be used in universities and in IT
companies for improving engineer’s skills. Additional type of defects can be
seeded in the emulator, so training or learning could be more efficient.
References:
1. IEEE Guide to Software Engineering Body of Knowledge / Swebok
[Site]. — : http://www.computer.org/portal/web/swebok/html/copyright (2013)
2. Official site company IBM. —: www.ibm.com/en/software_defects_class
3. Official
site SourceForce. —: www.
SourceForce.net