Introduction
Currently, new technologies are always present and within the reach of most people and companies, so the need to have a website increases day by day. Not only for those who want to make money online, but for all those companies or people who offer a service or have a business. (Erazo, 2012, Magaly, Rolando et al., 2020)
Companies increasingly choose to use web portals, whose fundamental characteristic is to serve as a gateway to offer the user, in an easy and integrated way, access to a series of resources and services related to the same theme. Includes: links, search engines, forums, documents, applications, electronic purchase, etc. (Coloma, Pino et al., 2018, Magaly, Rolando et al., 2020). Mainly, an Internet portal is aimed at solving specific information needs on a particular selected topic, organizing and distributing content to meet the needs of its users/consumers (Dominguez, 2006, Fajardo, Escalona et al., 2018).
There are different types of web portals among them (Erazo, 2012, Pinho, Franco et al., 2018)
General Portals (Mega Portals or Horizontal Portals)
Specialized Portals.
Corporate Portals
Vertical Portals (Vortals)
It is important to clarify that, despite having different classifications, they have elements in common, they all offer resources, information services divided and organized depending on the type of public they are aimed at; allow personalization of information, which is displayed in an easy-to- use interface with a pleasant design (Santana Bonilla, Eirín Nemiña et al., 2017). Therefore, the proposed strategy can be applied regardless of these classifications.
Therefore, as these software systems are becoming more and more important in society, the demand for their quality increases. According to the Institute of Electrical and Electronics Engineers (IEEE), software quality is the degree to which a system, component, or process meets specified requirements and the needs or expectations of the customer or user (IEEE 1990, A. I. Vlasov, 2022). Which depends largely on the tests that have been carried out during its development. Testing is therefore one of the most important activities in software development. Without them, the software would contain many defects that would cause failures that could only be detected when the product is installed and used in a real production environment, thus causing the impact of these failures to be serious and the cost to solve the defects that cause them is large (Boehm and Basili, 2007, Diaz, Casañola et al., 2020, Srivastava, Kumar et al., 2021).
However, despite the importance of testing, in many organizations they are not given enough attention or are simply omitted from software product development planning. Many times, the pressure to have a finished product on a set date causes activities, mistakenly considered as expendable, to be eliminated or reduced in planning. In this way, the aim is to reduce costs and be able to have a product that can be delivered on time, although the drawbacks are usually much greater than the advantages of simply delivering “something”. Thus, eliminating testing activities, instead of accelerating software development, means that these products can never be considered truly finished, since it is possible that defects continually appear that must be resolved once the software has been deployed. In this context, a defect can be defined as an unexpected behavior of the system, which does not correspond to its requirements and specifications (Fernández, 2015, Chen, 2021).
The tests are very expensive so they are left for the later stages of the project and do not cover all types of recommended tests. On the other hand, tests are the most important resource for evaluating the quality of software (Vásquez Romero, 2018, Vera, Valdivia et al., 2020); however , quality and testing are not the same thing. Quality is built into software throughout the engineering process, if it's not there when testing begins, it won't be there when it's finished. For this reason, they should focus on prevention and control activities from the beginning of software development. As stated in the principles of evidence. (David Flores Mendoza, 2019)
Like all software, web portals are based on principles such as: graphic design, navigability, web positioning, user load, performance efficiency, security, among others (Toledo, 2019). However, with the high demand for these products and the limited time for their production, developers choose to use methodologies with an agile approach, where functional and non-functional requirements such as reliability, functionality, security, scalability, usability, among others, they cannot be omitted since this lack would directly lead to the failure of the project (Pasini, Ramón et al., 2006, Santana Méndez and Trujillo Casañola, 2010, Guamán Barbecho, 2019, Zhao Huanga, 2021).
In the bibliographic review carried out, the authors were able to verify that there are problems in the detection of defects in the early stages of development of web portals (Aldana La ́O and Ramos Medina, 2009, Ruiz Tenorio, 2010, Vásquez Romero, 2018). evidences the scant attention paid to aspects as relevant as making an interactive design focused on maintaining the receiver's attention, which adapts to the specific characteristics of each user, and the efficiency of quickly displaying requested information, have been part of the background, ignoring Thus, quality characteristics set out in the ISO 25010 standard, causing deliveries of products with numerous defects in both functional and non-functional tests, but also a proposal is not made of what to test and how to test in the different stages of the development cycle to guarantee more attractive and efficient products to the user(ISO/IEC 2011, Sánchez, 2021).
In order to verify the above, an analysis of the defects detected in testing stages, at the national level, was carried out on this type of product. An interview was conducted with the National Center for Software Quality (CALISOFT), where the questions were aimed at knowing what were the most common defects in the portals and the quality characteristics of the product, according to the ISO / IEC 25010: 2016 Standard, which most affected were based on the number of associated defects in their tests. It was stated that the most affected characteristics in the evaluations are: functional adequacy, performance efficiency and usability(ISO/IEC, 2016, González, Diaz et al., 2021).
On the other hand, the data of the tests carried out at the University of Informatics Sciences in the last five years were analyzed. According to these data, the most affected characteristics are: functional suitability and usability. In the tests to evaluate the functional adequacy characteristic, the validation type defects were the most manifested. In the usability evaluations, the defects of visibility, aesthetics and design and those associated with consistency and standards are highlighted.
Analyzing these findings, it can be established that many of these defects are introduced in the early stages of the software. (Zamuriano, 2004, Ruiz Tenorio, 2010). The following table shows some of the most common defects in websites as the cause that originates them.
Component, System |
Validation defects can be introduced Defects related to Response Time |
Due to an incorrect survey or absence of the requirements (functional or non-functional) Deliberate deviation from requirements (due to time pressure, advances without authorization) Documentation errors |
|
System |
Correspondence between artifacts Aesthetics and design Visibility |
Inadequate communication between team members Design Errors Insufficient evidence Documentation errors |
|
System |
Not checking the web in different browsers and resolutions Navigability. |
Non-compliance with standards related to a web portal facing the Internet |
Font: Own elaboration.
Then, it can be established that, if tests are designed throughout the life cycle of the portals, with specific activities to deal with the introduction of these types of defects, the final quality of the product developed within the national territory will be improved, as well as the delivery times to customers and thus the satisfaction of end users.
Therefore, it is established as a problem to be solved for this research: What and how to test throughout the life cycle of portals, taking into account national experiences and good practices recommended in the most used models, norms and standards? The objective of the research is to develop a testing strategy to evaluate web portals, which allows detecting defects closer to the moment they are introduced and reducing delivery times to the client and the satisfaction of end users.
Methods or Computational Methodology
For the development of this research, the methods mentioned below were used. In addition, a brief explanation of the purposes for which they were used is provided.
Theoretical methods:
Dialectical method for the critical study of previous works and to use them as a source of reference and comparison of results.
The analytical-synthetic method was used for the study of the bibliography about the most used quality models internationally.
The deductive hypothetical for the identification of the problematic situation and the solutions.
Empirical methods:
Interview to obtain information in order to argue the problematic situation and the validation of the results.
The survey to obtain the experiences of the organizations.
The participant observation to obtain the necessary information for the approach of the problem, as well as to carry out the confrontation of the obtained results.
Statistical methods to assess the effect of the proposal.
The experimental method to check the usefulness of the data obtained from the implementation of the general testing strategy.
From the point of view of an investigation, a strategy must consider the following stages: Diagnosis, Approach of the general objective, Strategic Planning, Instrumentation and Evaluation. For this research, an alignment of these stages with the characteristics of a testing strategy was carried out. The general objective of the proposed strategy is identified, which would be contained in the organization's quality policy based on the results of the diagnosis. Strategic planning is carried out by defining the objectives by test levels and later the instrumentation is described where it is explained what to test from the type of test by levels and how to test from describing the objectives, typical test objects, test bases , approaches and responsibilities, defects and types of typical failures and techniques and strategies(Diaz, Casañola et al., 2019, Diaz, Casañola et al., 2020).
Initially, the development organization must take into account in its test policy the quality activities related to the tests. Feedback from these activities should be used to detect changes in risks so that planning can be adjusted. These activities may include scope, objectives, risks, planning for analysis, design, implementation, execution, and testing activities (2018, Board-ISTQB® 2018, Pinho, Franco et al., 2018). For the drafting of the policy, the use of brainstorming is proposed where members of the organization's management who can make decisions in the processes, those responsible for directing the quality processes and some actors of these processes participate, thus improving quality. of these products, decrease the delivery time to customers and increase the satisfaction of end users.
After establishing the policy, the test strategy to be executed is designed. The proposal is based on the one designed by the authors (Diaz, Casañola et al., 2020), see Table 2 . Taking into account that this strategy is for all software products, it is complemented by proposing activities based on the aforementioned needs of the portals.
Reduce risk Verify the functional and non-functional requirements of the component Find component defects Prevent defects from escaping to other levels of testing |
Reduce risk Verify functional and non-functional behaviors of interfaces Create confidence in the quality of interfaces Find defects in the interaction between components Prevent defects from escaping to other levels of testing Verify integration between systems |
Reduce risk Verify that the functional and non-functional behaviors of the system Create confidence in the quality of the system Fault Prevent defects from escaping production |
Validation that the system is complete and will function as intended Verify that the functional and non- functional behavior of the system Satisfy user, operation and legal or regulatory requirements |
|
Components/ classes/ units/ modules Code |
Subsystems Databases Infrastructure Interfaces |
Applications System configuration |
Applications Systems System and data configuration |
|
Component Requirements Detailed design Code |
Software and systems design sequence diagrams Specifications of interfaces and communication protocols Use cases Architecture |
Specification of software and system requirements. Risk analysis reports Use cases, user stories System behavior models System and user manuals |
business processes user requirements Regulations, legal contracts Software Requirements Specification Use cases, user stories System, user and installation manuals. |
|
It's from the developer, it focuses on test automation, usually white box. These tests must be carried out by the project team. |
Component integration testing is the responsibility of the developer. Integration testing between systems is the responsibility of the tester. These tests must be carried out by the project team. | Testers whose fundamental task is the detection of defects from the design of the test. An independent testing team is proposed to the development team. | They are the responsibility of customers, users and system operators. For this level, if there is clarity about what has been agreed between the parties, it is proposed that only the development team and the client intervene. | |
Validation |
Response time |
Validation Response time Correspondence between artifacts Aesthetics and design Visibility |
Response time Not checking the web in different browsers and resolutions Navigability. |
|
Functional testing Structural Regression and confirmation tests |
non functional Structural Regression and confirmation tests |
Functional testing Non functional Regression and confirmation tests. |
Functional testing Non functional Regression and confirmation tests. |
|
|
Analytics (requirements) methodical It is recommended at this level to carry out a complete review of both the functional and non-functional requirements. For structural tests, the use of the method to verify the correct use of coding standards. Carry out confirmation tests for all the defects detected in the previous tests and confirmation tests based on the risk analysis. At this level, the automation of all the proposed tests is proposed. |
Analytics (requirements and risks) methodical based on models For this level, a review of the functional and non-functional requirements with an analytical approach is recommended. |
Analytics methodical based on models Reactive or based on experience |
Analytics methodical advisory |
Font: Own elaboration.
There is a group of specific characteristics in the development of national web portals, they have the characteristics that are content-oriented and focused on the user interface, favoring visual creativity and the incorporation of multimedia. Many of the sites are directed by objectives of content, promotion of products or services (Calderón Montero and Hernández León, 2007, Alvarez, Aldana et al., 2018). In this type of products, the majority of dissatisfactions either by the user/consumer or in the tests that are carried out are those related to validation, aesthetics and design and performance efficiency for them, the researchers propose as a result of the investigation activities more specific linked to detecting these most common defects in this type of products, such as review of requirements to verify that they contain in their specifications everything required by the client, enhance communication (essential requirement) in the development team, implementation of good practices of quality activities to mitigate future risks and errors, so that defects closer to the stage where they are introduced are detected, which will reduce correction costs from the very beginning of the product.
Results and Discussion
The proposal will be applied to the University of Informatics Sciences, in which software products are developed, including web portals for different businesses (educational, health, sports, industries...) and for the development of these products, methodologies based on in user stories. The quality policy that was identified from the focus group was:
Quality activities are carried out to prevent, control and improve the quality of products. These activities represent revisions of the specifications, the design, the coding with the aim of preventing possible failures that may exist in the web portals. As a strategy, it was selected to combine the analytical strategies: based on requirements , based on experience and methodical.
Validation |
|
external quality reviewer project analyst | In the formal technical reviews (RTF) it must be verified that all the requirements must be related to functionality, there must be a good definition (data type, limit values, input/output conditions, response to all kinds of situations), everything necessary for its understanding by the developer | |
---|---|---|---|---|
|
Project analyst and developer | Good communication between both pillars of the team should be encouraged, since if there is poor communication between them, the product's objectives will not be achieved, influencing errors such as validation errors. | ||
|
Project analyst and developer | Every time an embedded element on the screen such as buttons and forms that includes the insertion of data is updated or modified, the developer must communicate so that it can be tested if everything complies with the above stated in the requirements, and does not influence its correct operation. . (interface tests) | ||
Lack of resources on the server side Network with inadequate bandwidth Poor or weak operating system capabilities Poorly designed functionality and other hardware or software conflicts that can lead to degraded software performance |
The infrastructure elements must be reviewed to ensure that they do not contain any known vulnerabilities, as well as the administrative tools used for the maintenance of the different components. Requests to the application must be met in less than 5 seconds. Requests to the DB must be attended to in less than 3 seconds Define performance efficiency requirements from the beginning of the software. |
|||
|
Response time |
|
Analyst | From the beginning of the software, possible deficiencies must be defined in order to influence the performance of the system, as well as establish requirements that take into account the characteristics associated with temporal behavior, the use of resources and capacity. |
Insecure communication with the client (dissatisfaction) Inadequate documentation Confusing information architecture (if the user does not find what they are looking for, they leave) Vulnerable software products High quality costs due to rework because the further the detection of defects is from the stage where they are introduced, the more expensive their elimination. |
Define and correctly write non-functional requirements (usability) Indicate to the user in which part of its structure it is located, that is, if it shows breadcrumbs Provide all the information involved in performing a certain action to the user (forms, descriptions of required fields, confirmation or error messages) Carry out inspections of the documentation, there must be similarity with the product that is being developed. |
|||
|
Aesthetics and design Visibility Navigability. |
|
Analyst, project leader, user, developer. |
For this characteristic, it is essential to link the user from the beginning of the development cycle, since the perfection of the product starts from him. The project manager must ensure that basic internal and unit tests are carried out with the user during development, as a prerequisite for Quality Control tests (verify that the screens and messages are clear to the user) |
| ||||
|
Font: Own elaboration.
It must be taken into account that these proposed activities are associated to discover and mitigate the most common defects related to the development of web portals. For the evaluation of the given proposal, it was necessary to carry out a survey that would allow obtaining expert criteria. For the selection of these, the curricular analysis technique was applied. 15 experts participated with more than ten years in the software industry and from different software development organizations nationwide.
Expert selection process
An assessment of the possible experts was carried out, the following were considered as the initial selection criteria: knowledge related to quality and quality management in software projects, work experience in the software industry of 8 years or more, practical experience as the main factor. Taking these criteria into account, a questionnaire for curricular knowledge was carried out. As a result, 15 experts were selected at the national level, from the institutions: DESOFT, XETID, ICU and CUJAE. After selecting the experts, taking into account the knowledge about the quality characteristics of the product and the practical experience they have about the value of complying with them, the Delphi method was applied to take advantage of the common elements in the group of experts. Anonymity was preserved through the use of communication flows that allow the participation of experts even if they are geographically dispersed (Trujillo Casañola, Febles Estrada et al., 2015, Díaz and Castañola, 2019)
Satisfactory results were obtained from the analysis of the answers given, since all the categories were evaluated as Very High or High, validating the contribution of good practices associated with minimizing defects in the development of these products, as well as activities necessary to incorporate from the beginning of the development of the software, as fundamental for the satisfaction of the users and acceptance of the product. A mode of High or Very High was obtained and the experts did not cast votes on the scale of Low or None. From the votes cast by the experts, the following results are obtained (Table 3):
Criterion | Percent | Fashion |
---|---|---|
Relevance | 97.4 | 5 |
Relevance | 94 | 5 |
Coherence | 86 | 4 |
Comprehension | 90 | 5 |
Accuracy | 64.7 | 4 |
Font: Own elaboration.
Based on these results, it can be ensured that the experts agree that the activities and good practices proposed have a positive impact on the prevention and control associated with these types of errors and that they must be incorporated from the beginning of the software development, being necessary to carry out a correct management of product requirements so that they do not negatively affect the operation of the system and its acceptance.
Conclusions
Both functional and non-functional requirements must be correctly defined from the beginning of software development to obtain a design and architecture that correspond to the behavior of the product during its development to minimize the defects or failures that these may cause.
Carrying out software tests is important to reduce the risk of failure in operation, however, many times they are carried out after the product is finished and only functional tests are carried out.
The results reaffirm the need to carry out early tests in the development of the product, complemented with testing strategies and activities to obtain positive criteria at the end of the product.