ISSN 0798 1015

logo

Vol. 38 (Nº 43) Año 2017. Pág. 20

Application of Knowledge Management to the software testing process

Aplicación de la gestión del conocimiento al proceso de pruebas de software

Darío Enrique SOTO Duran 1; Adriana Xiomara REYES Gamboa 2; Jovani JIMÉNEZ Builes 3

Recibido: 02/05/2017 • Aprobado: 30/05/2017


Content

1. Introduction

2. Materials and methods

3. Results

4. Conclusions

References


ABSTRACT:

In the software life cycle, testing is a relevant activity that contributes to product quality and is fundamentally supported by knowledge. Consequently, knowledge management integrated into the testing process, generates effectiveness in the detection and resolution of defects, combining the technical and domain knowledge in the development of the process. For this reason, we propose a strategy that incorporates knowledge management practices in the stages of the testing process.
Keywords Software, testing, knowledge management, life cycle, tester

RESUMEN:

En el ciclo de vida del software, la prueba es una actividad relevante que contribuye a la calidad del producto y es apoyada fundamentalmente por el conocimiento. En consecuencia, la gestión del conocimiento integrada en el proceso de ensayo, genera efectividad en la detección y resolución de defectos, combinando el conocimiento técnico y de dominio en el desarrollo del proceso. Por esta razón, proponemos una estrategia que incorpore las prácticas de gestión del conocimiento en las etapas del proceso de prueba.
Keywords software, Testing, gestión del conocimiento, ciclo de vida, Tester

PDF

1. Introduction

Software testing is one of the most relevant processes within the software development lifecycle because it increases the quality of products and artifacts produced. Software testing relies heavily on the skills, knowledge, insight and experience of the members of the test team (Kaner et al, 2008). According to Xue-Mei et al, 2009, they identify some problems in the process of software testing such as:

1. Low reuse rate of knowledge of software testing,

2. There are barriers in knowledge transfer of software testing,

3. There is no adequate environment for the exchange of knowledge of the software testing process and

4. A high level of staff turnover, generating a permanent loss of the software testing process.

This problem can be mitigated by effectively integrating knowledge management (KM) into verification and validation activities, so that knowledge assets are transmitted and reused, thus leading to an efficient software testing process (Abdullah et al, 2011).

This paper presents a strategy to manage the knowledge of the testing process, based on a unified domain derived from the ISO / IEC 29119 standard, based on three layers of the process: Strategic or Organizational, Management of tests and the fundamental process Or test technician. The model supports the risk-based test strategy and instantiates the type of knowledge relevant to this discipline and generates value to the testing process. It is organized in 3 sections, the first presents the contextualization of the topics that are addressed in the research, the second section presents the results and discussion of those results that focus on the proposed strategy and the third section presents the conclusions I throw Investigation.

2. Materials and methods

2.1 Knowledge Management

Knowledge management is supported by the understanding of the concept of knowledge "Knowledge is a fluid mixture of structured experience, values, contextual information and expert judgment that provides a frame of reference to evaluate and incorporate new experiences and information" (Alavi and Leidner , 2001).

In GC, three elements must be understood:

1. Conceptualize the differences and the relationship existing in the trial of the concepts of data, information and knowledge,

2. The instantiation that an individual performs through cognitive processing of data and information, to be used in a specific context. By last,

3. It refers to the conception of knowledge, which is, something individual, its usefulness is subject to the processes of sharing, interpreting and internalizing of other people. According to the authors (Checkland and Holwell, 2006), they define the concepts data, information and knowledge as follows:

As a result, the test team must be able to take the data-information-knowledge chain and extract what is useful to optimize and improve the process.

A generic definition of KM, according to (Gupta and Sharma, 2004) is the set of processes that govern the creation, dissemination, and utilization of knowledge.

For (Del Moral and Pazos, 2007), the GC has a broader spectrum and defines it: the set of principles, methods, techniques, tools, metrics and technologies that allow to obtain the precise knowledge, for those who need them, in the way Adequate, timely in the most efficient and simple way, in order to achieve institutional action or more intelligent possible.

2.2 Knowledge Management in software organizations.

In the more specific domain of Software Engineering, (Rus and Lindvall, 2002) propose that, depending on the set of Software En activities to which knowledge belongs, these can be of different kinds, such as organizational knowledge, management knowledge, technical knowledge And knowledge of the domain:

• Organizational: refers, among others, to the knowledge to manage the organization, what are the objectives of the business and the management of human resources.

• Management: refers, among others, to the knowledge to plan, lead and follow up on a project.

• Technical: refers to knowledge to perform requirements analysis, design, programming and software testing.

• Domain: refers to knowledge of the domain of application such as banking, insurance, telecommunications and others.

2.3 Software Testing

Software testing is considered (ISO, 2010): "the activity in which a system or component is executed under controlled conditions, the results are recorded and the evaluation is performed on some aspect of the system or component."

This is a cognitive and not mechanical or repetitive activity involving several mental functions such as language, imagination, perception, among others. A tester is developing these skills as he gains knowledge and experience.

According to (Vargas et al, 2015), it can be stated that the objective of the ISO / IEC 29119 Software Testing Standard is to provide a definitive standard for software testing that defines vocabulary, processes, documentation, techniques and An evaluation model of the software testing process that can be used within any development lifecycle.

The standard focuses on a three-tiered process-based risk model for software testing that provides guidance on the development of organizational and policy testing strategies, project management testing including designing test project strategies / Level and plans and monitoring and control tests, and a dynamic test process that provides a guide for analysis and test design, test environment configuration and maintenance, test run and reporting. It standardizes the way in which the tests are planned, designed, executed and maintained, unifying previous standards and applicable to different types of software systems.

Software testing according to (Soto et al, 2016) has a process framework defined in three layers: organizational processes, management processes and dynamic or technical processes.

In the software industry a high level of projects fails or does not end with the success it should have (Emam and Koru, 2008), so it is necessary to improve the quality of the processes implemented by the organizations, obtaining in this way a Higher product quality (Kuilboer and Ashrafi, 2000).

Several studies have demonstrated the benefit of verification and validation of software testing through the use of formal processes. (Pino et al, 2008) (Unterkalmsteiner, 2012) (Belt et al, 2008). The most relevant benefits are: an increase in customer satisfaction due to the decrease in the failure rate in the product, an increase in the efficiency of the development process, facilitating the definition and fulfillment of quality objectives, Satisfaction of staff due to the provision of appropriate tools and resources for the efficient performance of the work, and increases the number of defects found with the consequent reduction of time and cost of rework, among others.

Among the reasons why it is important to include QA in a program of continuous improvement within a process of software testing is the need for mechanisms or applications to provide written support for all the knowledge generated during the execution of each One of the phases and the cycles of an improvement program, so that it is codified in knowledge assets that allows the transfer and appropriation among the team members.

3. Results

The GC, has historically defined different activities for its implementation and for the purpose of unifying the terminology reference is a process model that collects the most significant of different authors. In Table 1, we present the most significant processes of GC

Table 1. Comparison of the phases of Knowledge Management.

Processes

Similar terms used by different authors

Definition of objectives

Strategic Alignment and Organizational Guidelines.

ID

Mapping and knowledge ontology.

Incorporation

Acquisition, Creation, Construction; Outsourcing; Development; Innovation.

Preservation

indexing; Formalization; Coding; Storage

Shared

Transfer, Socialization. Integration and Distribution

Utilization

Application or Use

Source: Authors

3.1 Taxonomy of Knowledge in the Context of Software Testing

Knowledge is a fundamental element that supports the identification of failures in software products.

Specifically in the testing process it is relevant to identify the type and class of knowledge necessary for testers to have a greater probability of success in detecting and recognizing defects and improving their performance.

According to the authors (Itkonen et al., 2013), the empirical study of test teams in four software organizations identified three categories of knowledge:

1. Knowledge of the domain,

2. Knowledge of the system and

3. General knowledge of software engineering.

These three are aligned to the ISO / IEC 29117 Processes as identified in Figure 1.

Figure 1. Processes of ISO / IEC 29117 Vs Knowledge

3.2 Knowledge Management Model applied to software testing

In order for the software tests to meet the proposed objectives, the following fundamental components are proposed:

• Comply with the process structure defined in the ISO / IEC 29119 software testing standard.

• Run a risk-based testing strategy.

• Integrate the typology of knowledge that generates value in the identification and recognition of failures.

Taking into account these three components and that the knowledge management during its administration complies with the processes of KM and raises the Knowledge Management model in the software tests as shown in Table 2.

Table 2. Components of the knowledge model applied to tests

Knowledge Management

Test Inputs / Assets

Actividades de GC

 Outputs

Definition of objectives

Organizational policies and strategies

Establish a knowledge diagram according to the strategic objectives of the tests.

Strategic knowledge goals

ID

Understanding the Context

Business Modeling

Process Assets

Risk plan

Identify strategic knowledge.

Perform Inventory of Knowledge assets and experiences.

List of knowledge gaps.

Incorporation

Test plan

Define knowledge activities to mitigate knowledge gaps.

Include knowledge requirements in the plan.

Knowledge acquisition plan.

Preservation

Test plan

Incident Management

Record the incidents while maintaining traceability with project risks and knowledge gaps.

Index incidents by keywords.

Records of knowledge incidents and postmortem lessons learned.

Distribution and Use

Record of incidences.

Distribute lessons learned to stakeholders

Define socialization of the main incidences of knowledge

Distribution lists

Socialization events.

Source: Authors

Definition of Objectives: The purpose should be aligned according to the ISO / IEC 29119 standard, establishes a level of organizational processes, in which the test specifications for the organization are developed and managed. These guidelines describe the objectives and global scope of the tests within the organization and also establish the practices to be instantiated within the management of test projects.

Identification: At this stage the strategic knowledge required for the process is identified and a diagnosis is made with the inventory of existing knowledge assets. This involves building the inventory of knowledge, skills and experiences that the test team has. In this case, an essential element is the understanding of the system, business modeling and application artifacts. These activities gaps the team's knowledge.

Incorporation: At this stage, the activities required to mitigate knowledge gaps are added to the test plan and quantified in time and cost, generating a process schedule.

Preservation: At this point is included in the artifact called event log the event of knowledge that allows to avoid or cause the failure.

Distribution and Use: At this stage, a culture and technological means must be contacted to allow the appropriation of the knowledge derived from the process.

4. Conclusions

With the analysis carried out in this article, integrating knowledge management processes into software testing allows the identification of the type and class of knowledge associated with the software testing process, with testers having a greater probability of success in detection and recognition Of defects in the software construction process. Based on the premise of the definition of objectives from the risks associated with the domain and strategic objective of the test team.

The knowledge assets are considered based on the strategic and organizational context of the test and the risks associated with the domain of the business.

From the test plan, the knowledge activities required to mitigate the identified risks are established.

The knowledge management strategy focuses on risk mitigation and knowledge gaps identified in the test project, with the purpose of improving the effectiveness of the process

References

Abdullah, R., Darleena Eri  Z. & Mohamed A. A model of knowledge management system in managing knowledge of software testing environment. IEEE 978-1-4577-1531-0/11. 5th Malaysian Conference in Software Engineering (MySEC). 2011.

Belt, P., Harkonen, J., Mottonen, M., Kess, P., & Haapasalo, H. (2008). Improving the efficiency of verification and validation. International Journal of Services and Standards, 4(2), 150-166.

Capote, J., Llantén, C. J., Pardo, C., & Collazos, C. (2009). Knowledge management in a software process improvement program in micro, small and medium-sized enterprises: KMSPI Model. Revista Facultad de Ingeniería Universidad de Antioquia, (50), 205-216.

Del Moral, A., & Pazos, J. (2007). Gestión del conocimiento.

Rus l. & Lindvall M. (2002). Knowledge Management in Software Engineering. IEEE Software, pp. 26-38.

El Emam, K., & Koru, A. G. (2008). A replicated survey of IT software project failures. IEEE software, 25(5).

García, J., De Amescua, A., & Velasco, M. (2006). Top 10 de factores que obstaculizan la mejora de los procesos de verificación y validación en organizaciones intensivas en software. Revista Española de innovación, calidad e ingeniería de software, 12(2).

Gupta, J. N., & Sharma, S. K. (Eds.). (2004). Creating knowledge based organizations. Igi Global.

ISO, I. (2010). IEEE, Systems and Software Engineering--Vocabulary. ISO/IEC/IEEE 24765: 2010 (E)) Piscataway, NJ: IEEE computer society, Tech. Rep.

Itkonen, J., Mäntylä, M. V., & Lassenius, C. (2013). The role of the tester's knowledge in exploratory software testing. IEEE Transactions on Software Engineering, 39(5), 707-724.

Kaner, C., Bach, J., & Pettichord, B. (2008). Lessons learned in software testing. John Wiley & Sons.

Kuilboer, J. P., & Ashrafi, N. (2000). Software process and product improvement: an empirical assessment. Information and software technology, 42(1), 27-34.

Lee, S. J., Lindquist, K., Segal, M. R., & Covinsky, K. E. (2006). Development and validation of a prognostic index for 4-year mortality in older adults. Jama, 295(7), 801-808.

M. Alavi y D. E. Leidner, «Review: Knowledge management and knowledge management systems: Conceptual foundations and research issues», MIS Q. Manag. Inf. Syst., vol. 25, n.o 1, pp. 107-136, 2001

Mesquida, A. L., Mas, A., Amengual, E., & Calvo-Manzano, J. A. (2012). IT Service Management Process Improvement based on ISO/IEC 15504: A systematic review. Information and Software Technology, 54(3), 239-247.

Niazi, M., Wilson, D., & Zowghi, D. (2005). A maturity model for the implementation of software process improvement: an empirical study. Journal of Systems and Software, 74(2), 155-172.

Pino, F. J., García, F., & Piattini, M. (2008). Software process improvement in small and medium software enterprises: a systematic review. Software Quality Journal, 16(2), 237-261.

P. Checkland y S. E. Holwell, «Data, capta, information and knowledge», en Introducing Information Management: the business approach, London, New York and Amsterdam: Elsevier, 2006, pp. 4755.

Sommerville, I. (2004). Software Engineering. International computer science series. ed: Addison Wesley

Soto D, Giraldo J & Villamizar K, «Modelo de pruebas en proyectos BI.,» de LACCEI International Multiconference for Engineering, Education and Technology, 2016

Standish Group. (2009). Chaos summary 2009. Online report. Accessed June, 20.

Unterkalmsteiner, M., Gorschek, T., Islam, A. M., Cheng, C. K., Permadi, R. B., & Feldt, R. (2012). Evaluation and measurement of software process improvement—a systematic literature review. IEEE Transactions on Software Engineering, 38(2), 398-424.

Vargas, F., Giraldo, J. & Soto, D.  LA GESTIÓN DE LAS PRUEBAS DE SOFTWARE REPRESENTADAS CON SEMAT. Proceedings of the Latin American Software Engineering Symposium, Año 2015, pp. 24 – 27, ISSN 2500-5014.

Xue-Mei, L., Guochang, G., Yong-Po, L., & Ji, W. (2009, March). Research and implementation of knowledge management methods in software testing process. In Computer Science and Information Engineering, 2009 WRI World Congress on (Vol. 7, pp. 739-743). IEEE.


1. Associate Professor of the Faculty of Engineering, Tecnológico de Antioquia, Medellín, Colombia. dsoto@tdea.edu.co

2. Associate Professor of the Faculty of Engineering.  Politécnico C. Jaime Isaza Cadavid, Medellín, Colombia.  axreyes@elpoli.edu.co

3. Full Professor of the Faculty of Mines, Universidad Nacional de Colombia , Medellín, Colombia, jajimen1@unal.edu.co


Revista ESPACIOS. ISSN 0798 1015
Vol. 38 (Nº 43) Año 2017
Indexada en Scopus, Google Schollar

[Índice]

[En caso de encontrar algún error en este website favor enviar email a webmaster]

revistaespacios.com