Ñîâðåìåííûå èíôîðìàöèîííûå òåõíîëîãèè/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