Logo en.artbmxmagazine.com

Software testing procedure for projects developed in a company

Table of contents:

Anonim

Today the software development process has become controversial. For this reason, a process that guides its developers is necessary. At this time, the existing methodology in the Computer Applications Company provides a guide for activities and workflows that organizes the software development process in this institution. To handle the enormous effort required to execute a project with this methodology, it is necessary to divide it into iterations. Each iteration of the process (deliverable carried out) takes as input the product resulting from the previous iteration and generates an increased product as output, which must be verified and validated by each iteration with the quality area and the client. This process does not apply to all divisions, it is centralized by regions (West,Center and East) which makes it impossible to measure the progress of quality in each stage of the project. Due to the aforementioned, the need arose to create a procedure to carry out partial tests in the different iterations of software development in order to smooth out those rough edges that may reach the end user once the requested product is finished.

software-testing-procedure

INTRODUCTION

Currently in the software industry the construction of systems is aimed at increasingly large and complex products. Very often it happens that it is necessary to produce them in a short period of time under the specifications of the clients.

The world of commercialization and business is becoming more competitive every day and demands higher quality in the process of development and control of the execution of software projects, it is essential to use the most modern computer technologies to guarantee a greater effectiveness in software development processes.

These situations coupled with the development methodology implemented in the territorial divisions of the Company of Computer Applications lead to implement a mechanism to control the progress with quality of the projects in each iteration. This allows the product to reach the end user with a minimum of errors.

The objective of this work is to present a procedure, detailed below, that establishes the procedure in the partial quality management of the products developed in the Territorial Division Guantánamo.

DEVELOPING

Characterization of the Territorial Division Guantánamo

The Computer Applications Company (Desoft) has an object focused on the computerization of Cuban society, for this it is fundamentally dedicated to the development, marketing, deployment and support of software, although it also works on lines such as: mobility services, training, computer security, among others. It is structured in Territorial Divisions and a Central Office in the capital, so that the specialists and technicians who work there are distributed throughout the country. In the Guantánamo Territorial Division, the development group has 15 members. The average duration of each project is nine months and each development team is made up of at most three specialists.The Acceptance Tests are carried out at the end of each project according to the Desoft Development Methodology in its current version 3.0. The quality group at the national level is located in the Territorial Division of Santi Spíritus and only reviews projects that have the characteristics to be part of the company's product portfolio at the national level. Meanwhile, the other products are at the mercy of the customers' criteria, who on many occasions do not know how to express what they want and sign the Acceptance Acts to get out of trouble.the other products are left to the discretion of the clients who on many occasions do not know how to express what they want and sign the Acceptance Acts to get out of trouble.the other products are left to the discretion of the clients who on many occasions do not know how to express what they want and sign the Acceptance Acts to get out of trouble.

Software Testing Procedure

Non-functional testing plays an important role in verifying the quality of a software product, based on the premise that the more the product is tested and the larger the range of test types, the more an approach to the desired quality is achieved. This document serves as a guide for the review of the Quality of a product, it is made following the standards established in the methodology for the development of a software product in the Desoft company. It details the stages, the roles with their responsibilities, the tools and artifacts involved in each stage, the types of tests to be carried out and the flow of non-conformities once detected.

Scope

It is applicable to all areas of development of the Subdirectorates for Computerization and Territorial Centers for Computer Services of the Territorial Divisions. Computer applications that constitute custom development, as well as those that may or may not be part of the product portfolio, will be subject to this procedure. It is also adjustable to entities with similar infrastructure characteristics and that have small development teams.

objective

  • Define the steps to follow and requirements to be met for the partial review of computer systems developed by the Territorial Division Guantanamo. Ensure that the products are delivered with consistent levels of quality that meet the expectations of the customers. Validate the functionality of the modules, systems and interfaces defined within the scope of the project.

Terms and definitions

SW - Software

HW - Hardware

GB - Gigabyte

RAM - Random Access Memory

NC - Non-Conformities

EPGD - Lead Development Group Specialist

EFC - Specialist in Quality Functions

CP - Test Case

Stages of the procedure

The software test procedure integrates a set of activities that describe the steps to be carried out in a test process such as: planning, design of test cases, execution and results, taking into consideration how much effort and resources will be required in order to obtain a correct construction of the software as a result. The following figure graphically describes the stages of the testing procedure.

Planning

At this stage, the Project Committee is held where an exchange is made between all the roles that intervene in the testing process. Here a Minute is drawn up at each Meeting as evidence of its holding on a monthly basis. The corresponding stages are also analyzed according to the project schedules to decide which ones will be reviewed in the month in question. The tasks to be carried out at this stage are:

  • Conduct Project Committee Agree with developers testing schedule Define number of monthly inspections Prepare test environment

Implementation

The main objective of this stage is the reviews. For this, the developers will deliver the Test Cases to the Main Development Specialist, which will then be delivered to the Quality Functions Specialist to process them and proceed to review the application based on the checklists. Once this process is completed, the non-conformities detected will be inserted into the mantis tool for subsequent analysis and monitoring. In addition, the Deputy Director of Computerization will be informed of the status of the process through a partial report after each inspection is completed. The tasks to be carried out at this stage are the following:

  • Deliver artifacts Perform reviews Run test types Create partial test report Monitor non-conformities

Release

At this stage, the resolved non-conformities are closed once confirmed through regression tests by the Quality Functions Specialist. The main and most urgent difficulties encountered during the entire testing process are also assessed by the Computerization Deputy Director in conjunction with the Main Development Specialist and the Quality Function Specialist and finally the product is released. So the tasks to be carried out at this stage would be:

  • Perform regression tests Close non-conformities Release module Prepare final test report

Necessary requirements for receiving the product

A test environment will be created where the application to be reviewed will be available.

A personalized key (s) must be delivered according to the users of the system and the project file according to the development methodology in the corresponding stage.

The necessary documentation must be published at the following address: ftp://ftpdesarrollo.gtm.desoft.cu at the end of the Friday of each week.

Types of tests to perform

To guarantee the success of the weekly inspections, the Quality Specialist will rely on some types of tests that are specified below.

  • Exploratory tests

They are nothing more than a process of product exploration, which validates the quality of the delivery, where the necessary requirements for receiving the product will be evaluated, if they do not comply with them, the tests will be automatically aborted.

Integration testing

The integration tests are carried out during the construction of the system, involve an increasing number of modules and end up testing the system as a whole. All associated modules are tested. They are carried out in order to find faults in the interfaces between the software and others with which it interacts.

Functional testing

They evaluate the feature set and capabilities of the system components. They ensure the appropriate work of functional requirements, including navigation, data entry, processing and obtaining results.

Function: They consist of reviewing the functionalities present in the application (according to the Requirements Catalog), paying attention to validations, exceptions and services.

Security: Ensure that both the data and the system will only be accessed by the desired actors and each with their specific permissions.

The following is verified:

  • That each business rule is properly applied. That the expected results occur when valid data is used. That the appropriate error and caution messages are displayed when invalid data is used.

Usability Testing

Test focused on human factors, aesthetics, context sensitive help and online. Errors in the user interface such as: Correspondence with each other, similarity in the prototype, same font, same types of buttons, icons, format, visibility, navigability, menus, colors, legibility, etc.

Reliability tests

Recovery and fault tolerance: Verify that manual or automatic recovery processes properly restore the database, applications and systems, and bring them to a known or desired state.

Test of performance

Focused on monitoring time in execution flow, data access, call to functions and system to identify and address bottlenecks and inefficient processes.

Containment: Focused on the validation of the skills of the element to be tested to acceptably handle the demand of multiple actors on the same resource.

Supportability tests

Configuration: Focused on ensuring that it works in different hardware and software configurations. This test is also implemented as a system performance test.

Installation: Focused on ensuring installation in different hardware and software configurations under different conditions, insufficient disk space, etc.

Regression tests

Test focused on verifying that the incidents detected in a previous iteration were correctly resolved by the project team, in order to proceed to the next iteration, in which it will be verified that no errors were introduced when correcting those previously found. The purpose of these tests is to ensure that the defects identified in the previous run of the test have been corrected and that the changes made have not introduced new defects or reintroduced previous defects.

System Testing

Ensures proper navigation within the system, data entry, processing and retrieval. Checks for proper implementation of business rules.

Limit Value Tests

Tests designed to evaluate error handling with limit values ​​or extreme values. If an input condition is in a range of values ​​between A and B, tests must be designed for limits A and B, as well as for values ​​within and above the limits.

Software testing tools

Test case

They are a set of inputs, execution conditions and expected results developed for a particular objective. They are designed by applying techniques such as white box and black box. They are executed in the software following the test case or the obtained outputs are compared with the expected results in order to determine if there are any errors. Each test case must have the identification and objective, the detailed description of the inputs, their mode of execution and the detailed description of the expected outputs.

They specify how to test the system, including inputs, preconditions, specification of the actors who will perform the tests, and the conditions under which it is to be tested. It is a set of inputs and expected results that exercise a component with the purpose of causing failures and detecting defects.

Checklists

It is defined as a list of questions, in the form of a questionnaire that serves to verify the degree of compliance with certain rules established a priori for a specific purpose. They are easy to apply, summarize, and compare. Its analysis is quick, as it consists of verifying whether or not there is a control that is applicable to the object analyzed.

Test Report

It contains information about the execution of the tests. For each test case, the output obtained must be specified, and if it is different than expected, document the error found with the highest level of detail possible. It must be delivered to the Assistant Director of Computerization every Friday after conciliation with the Principal Specialist of the Development Group.

Mantis Bug Tracker

Mantis is a system for the registration and control of Non-conformities. Access to the application, being of the Web type, is done through a browser. The Mantis has no restriction on the type of browser that must be used to work as a client. The goal of Mantis is to create and maintain a Nonconformity control system, and it is designed in a way that is easily modifiable, customizable and upgradeable.

GitLab

It is a Git-based collaborative software development and version control web service. In addition to a repository manager, the service also offers wiki hosting and a bug tracking system, all published under an open source license.

Nas Development

FTP tool for the repository of source code and project files.

Roles and responsibilities

Lead Development Specialist:

  • Deliver the documentation of the projects that will be reviewed at each stage to the Computer Science Specialist, after reviewing with the designated developers Review and dispatch with the developers the Non-Conformities detected in the different stages for each of the projects and take the Relevant measures Make decisions when there is a discrepancy between the parties involved in the reviews Send the Deputy Director of Computerization the list of projects that will be reviewed at each stage.

Quality Specialist:

  • Review the documentation and applications received from the Main Specialist. Deliver a report of Non-Conformities detected in the corresponding stage to the Main Specialist and the Computerization Deputy Director.

Deputy Director of Computerization

  • Make strategic decisions regarding project progress.

Work flow

  1. About the documentation to be delivered by the Lead Development Group Specialist (EPGD) to the Quality Function Specialist (EFC).
    1. The EPGD must review the artifacts and documents provided by its specialists according to their respective progress. The main artifact that is needed is the Test Case (CP) of each project to be reviewed. You also need access to each component module of these projects. Failing that, the partial user manual can be used, if it exists. The EPGD delivers the artifacts to the EFC to be reviewed from the following Monday and notifies the Deputy Director of Computerization of this action.
    About the EFC tasks.
    1. The EFC must notify the Deputy Director of Computerization that it has received or not the artifacts that it is going to review before the end of the working day corresponding to Monday The EFC must review the documents of the methodology in force for development projects and prepare a Report Partial (IP) where it will promptly reflect the Non-Conformities (NC) that it finds. They will be entered into the mantis tool for subsequent analysis and monitoring. The EFC must review the modules that it has received and use as a basis the CP received from the EPGD, or failing that, the partial user manual corresponding to said modules. must prepare a Partial Report (IP) where, in addition to expeditiously reflecting the functionalities with problems,You will have to include the screens that will be reflected in the mantis tool for later analysis and monitoring.
    About the delivery and discussion of the EFC summary report.
    1. The Partial Report (IP) must be sent by the EFC to the EPGD on Friday afternoon, after reconciling with the EPGD. You must send a copy of said report to the Deputy Director of Computerization If at the time of receipt of the report the EPGD finds NC that could be saved in no more than 1 working day, you must inform the Deputy Director of Computerization so that he can make decisions about it and If approved, notify the EFC immediately. The EPGD must deliver the corrected artifacts to the EFC no later than the day following the decision of the Deputy Director of Computerization. Once the final version of the quality review has been prepared, the EFC must send by mail said Final Report to the EPGD and to the Deputy Director for Computerization.
    About detected NCs and their solution for the next test iteration.
    1. The EPGD must develop an action plan for the treatment of CNs. And define which of these NCs will be considered again for the quality review of the following period. These NCs must be included in the artifacts that will be delivered to EFC in the following period.

RESULTS

In order to support the proposed solution, a desktop project developed with IDE NetBeans and the Java programming language was chosen, thus demonstrating the applicability of the procedure. It should be noted that the project was born together with the idea of ​​the solution. The reviews of this project have been carried out over a period of three years. Statistical data are shown below with their results.

CONCLUSIONS

In today's competitive market, only quality products survive. And quality, although it is a subjective perception of the customer, is born in the philosophy of the company, which strives to offer products and services that exceed customer expectations. For this, testing the product is a fundamental factor. In addition, to increase the chances of detecting even minor errors, it is important to have someone else perform the tests. It is no secret to anyone that it is difficult for the developer of the software to identify their own errors. That is why it is essential to use advanced and customized tools for automation and software testing, and to have a team of highly qualified testers.

BIBLIOGRAPHY

What are agile methodologies? Available at: http: //blog.leanmonitor.com/es/que-son-las-metodologias-agiles/

What is scrum? Available at: http: //proyectosagiles.org/que-es-scrum/

Benefits of applying agile methodologies in software development. Available at: http: //www.i2btech.com/blog-i2b/tech-deployment/5-beneficios-de-aplicar-metodologias-agiles-en-el-desarrollo-de-software/

Agile software development methodologies. Available at: http: //danielgrifol.es/metodologias-agiles-de-desarrollo-de-software/

Methodology for software development processes v3.0.doc

Jacobson, I. and others, The Unified Software Development Process, Addison Wesley, Madrid, Spain, 2000.

ISO / IEC 90003: 2006 standard.

Flores, Mariano, Application of an Integrated Project Management Methodology to the Integrated Business Management System at Unión Eléctrica. (SIGEMETODO V1.0), Master EOI América-CENSAI, May 2001. Moliner, E, Softmethod V 1.0, Softcal, 2003.

RAFAEL, M. Software engineering. Development methodologies, 02.05.2008.

PATRICIO, LT, EMILIO, ASL Agile Methodologies in Software Development.

________________

ABOUT THE AUTHORS

Ing. Arlethy Betancourt Matos works in the Desoft Computer Applications Company, specifically in the territorial division of Guantánamo, he has 6 years of experience in the computerization department and 3 years ago he has specifically worked in the role of software quality specialist. Teaching Category: Desoft Internal Instructor. Member of the National Association of Economists of Cuba ANEC. Union of Informatics of Cuba UIC.

Ing. Lian Lisette Hurtado Linares works in the Desoft Computer Applications Company, specifically in the territorial division of Sancti Spíritus, she has 9 years of experience in the software development department and 5 years ago she has been working specifically in the role of specialist of software quality by leading a national group of technical reviews of software products. Teaching Category: Desoft Internal Instructor. Member of the National Association of Economists of Cuba ANEC. Union of Informatics of Cuba UIC.

Download the original file

Software testing procedure for projects developed in a company