Regression Testing-Based Requirement Prioritization of Mobile Applications

Author(s):  
Varun Gupta ◽  
D. S. Chauhan ◽  
Kamlesh Dutta

Mobile software application development process must be matured enough to handle the challenges (especially market related) associated with the development of high quality mobile software development. Ever increasing number of both mobile users and mobile applications had presented software engineers with the challenge of satisfying billions of users with high quality software applications to be delivered within deadline and budgets. Always there had been a lot of pressure to develop complex software categorized by thousands of requirements, under resource constrained environment. Requirement prioritization is one of the activities undertaken by software engineer to deliver partial software product to its customers such that most important requirements are implemented in the earliest releases. During next releases some changed and pending requirements are implemented, an activity that generates ripple effects. Such ripple effects need to be tested by executing modified source code against test cases of previous releases (regression testing). Regression testing is a very effortful activity that requires a software tester to select test cases that have high fault detection capability, execute the modified code against selected test cases and performing debugging. This regression testing activity can be lowered to the maximum extend by considering dependencies between requirements during the time of requirement prioritization. Thus requirement prioritization will be carried out not only against aspects like cost, time, risks, business values etc but against dependencies also. The aim is to implement almost all dependent highest priority requirements in current release so that implementation of new requirements is unlikely to have ripple effects. Changes in requirements might not be related to variable usage and definition and might not involve a change in functionality. In such cases there is no need to select already executed test cases of previous versions. Module dependencies can lead to test case selections of previous versions if changes of requirement lead to ripple effects. This paper aims to implement highest priority requirements such that regression testing is performed to minimum thereby improving development process of mobile applications. The proposed technique had been successfully evaluated on Android based notification software application that meets the specification of Aakash tablets.

Author(s):  
Pankaj Kamthan

In this chapter, the development and evolution of mobile applications is viewed from an engineering perspective. A methodology for deploying patterns as means for improving the pragmatic quality of mobile applications is proposed. In doing so, relevant quality attributes and corresponding stakeholder types for mobile applications are identified, the role of the development process is emphasized, and the challenges in making optimal use of patterns are presented. The underling feasibility issues involved at each step are analyzed. The activities of selection and application of patterns are explored. The use of patterns during macro- and micro-architecture design of mobile applications is illustrated. The implications of the use of patterns in a Mobile Social Web context are briefly highlighted.


2020 ◽  
Vol 17 (11) ◽  
pp. 5198-5204
Author(s):  
Seema Rani ◽  
Amandeep Kaur

Automation in software testing is significantly growing in recent situation. Most part of the system is automated with help of the software. Today every modern software developers are trying to automate the software development process as much as possible. Therefore to develop any software more skills and expertise are needed. For the software development process, testing of software is the exceedingly significant and considerable phase. Automatic test data generation had an essential function in specific area regarding software testing. Test case creation is technique of gathering the data which completes the testing standards, all criteria’s and conditions. During testing process, the software goes through frequent modifications. As a result, due to all of these modifications and repetitive retesting the cost of testing process increases. This is called regression testing. Regression testing requires more expertise, more effort, more time and more cost. Here to reduce the time and expenditure, many type of techniques are proposed. The changes in one test case will affect all the others test cases. To triumph over this problem, when the changes occurred in the software every the test case have to be retested repeatedly. And this problem leads to make the testing process time consuming with unnecessary increased cost. Here In this research paper, the work’s focal point on automatic test cases generation and prioritization with improved evolutionary genetic algorithm.


Author(s):  
Mohammed Maharmeh ◽  
Bhuvan Unhelkar

This chapter presents the use of Composite Application Software Development Process Framework (CASDPF) for Mobile Applications Development. This framework for software development, as its name suggests, is made up of the waterfall, iterative, and agile approaches to software development. There is a need to apply such a framework in developing mobile applications. The chapter explains and provides details on what comprises a CASDPF and how it can be used to develop a mobile application.


AI Magazine ◽  
2017 ◽  
Vol 38 (1) ◽  
pp. 73-87
Author(s):  
Arnaud Gotlieb ◽  
Dusica Marijan

Nowadays, any communicating or autonomous systems rely on high-quality software-based components. To ensure a sufficient level of quality, these components must be thoroughly verified before being released and being deployed in operational settings. Regression testing is a crucial verification process that executes any new release of a software-based component against previous versions of the component, with existing test cases. However, the selection of test cases in regression testing is challenging as the time available for testing is limited and some selection criteria must be respected. This problem, coined as Test Suite Reduction (TSR), is usually addressed by validation engineers through manual analysis or by using approximation techniques. Even if the underlying optimization problem is untractable in theory, solving it in practice is crucial when there are pressing needs to release high-quality components while at the same time reducing the time-to-market of new software releases. In this paper, we address the TSR problem with sound Artificial intelligence techniques such as Constraint Programming (CP) and global constraints. By associating each test case a cost-value aggregating distinct criteria, such as execution time, priority or importance due to the error-proneness of each test case, we propose several constraint optimization models to find a subset of test cases covering all the test requirements and optimizing the overall cost of selected test cases. Our models are based on a combination of NVALUE, GLOBALCARDINALITY, and SCALAR_PRODUCT, three well-known global constraints that can faithfully encode the coverage relation between test cases and test requirements. Our contribution includes the reuse of existing preprocessing rules to simplify the problem before solving it and the design of structure-aware heuristics, which take into account the notion of costs, associated with test cases. The work presented in this paper has been motivated by an industrial application in the communication domain. Our overall goal is to develop a constraint-based approach of test suite reduction that can be deployed to test a complete product line of conferencing systems in continuous delivery mode. By implementing this approach in a software prototype tool and experimentally evaluated it on both randomly generated instances and industrial instances, we hope to foster a quick adoption of the technology.


2015 ◽  
Vol 8 (2) ◽  
Author(s):  
Dr. Rajat Sheel Jain ◽  
Dr. Amit Gupta

Requirements are very important features for the designing of any software application. Test suite creation is a big and hectic task for the Software Quality Analyst. We propose to develop a technique for analysis of Covered Requirement and its impact on the designed Test suite. The requirement associated with the test cases accepts specification like execution time, costing for minimization of test suite. The specification analyser compares the information about the techniques like Precision, Efficiency, Inclusiveness and Generality. By reducing the test suite size, we can reduce the execution cost and time, validation and management of the test cases from the suite for future releases of the software and able to maintain the fault detection capability by reusing the refined test cases. The requirement coverage will increase time-effectiveness in sorting the features of the application and reduces the duplicacy. An improved rate of testing activity will provide faster feedback of the system under test.


2018 ◽  
Vol 18 ◽  
pp. 03002
Author(s):  
Anton Kukanov ◽  
Elena Andrianova

Nowadays the mobile apps market is experiencing unprecedented growth. The quantity of mobile applications, which is proposed for installation, has exceeded 6 million. It causes, that it’s difficult for common consumers to choose a safety and high-quality product from this amount. The proposed independent rating called up for helping ordinary consumers. It is based on the special standard of mobile apps quality requirements and group of test procedures, that allow to evaluate the quality of mobile software.


2018 ◽  
Vol 1 (2) ◽  
pp. 1-17
Author(s):  
Tedi Budiman

One example of the growing information technology today is mobile learning, mobile learning which refers to mobile technology as a learning medium. Mobile learning is learning that is unique for each student to access learning materials anywhere, anytime. Mobile learning is suitable as a model of learning for the students to make it easier to get an understanding of a given subject, such as math is pretty complicated and always using formulas.The design method that I use is the case study method, namely, learning, searching and collecting data related to the study. While the development of engineering design software application programs that will be used by the author is the method of Rapid Application Development (RAD), which consists of 4 stages: Requirements Planning Phase, User Design Phase, Construction Phase and Phase Cotuver.


2019 ◽  
Author(s):  
Dalya Al-Moghrabi ◽  
Fiorella Beatriz Colonio-Salazar ◽  
Ama Johal ◽  
Padhraig Seamus Fleming

BACKGROUND Diligent wear of removable orthodontic retainers requires prolonged compliance and is invariably necessary to preserve optimal results. Patient-informed behaviour-change interventions represent a promising and novel means of enhancing compliance with retainer wear. OBJECTIVE To describe the development of a patient-informed mobile application aimed to enhance retainer wear. METHODS Four aspects were considered during mobile application development: participant preferences; analysis of publicly-available retainer-related posts on Twitter; available interventions; and behaviour-change theories. Audio-recorded one-to-one interviews were conducted with a subset of participants to account for patient preferences in terms of features, design and content. A criterion-based purposive sample of participants wearing vacuum-formed retainers for at least 4 years was used. Thematic analysis of transcribed data was undertaken. RESULTS The need to facilitate communication with the treating clinician, responsive reminder and tracking systems, and access to useful and engaging written and visual information, in addition to other personalised and interactive features were considered important. Concerns related to retainer wear shared on Twitter informed an exhaustive list of frequently-asked questions. Application features were mapped to relevant theoretical constructs. Determinants of existing behavioural change theories were used to link application features to expected outcomes. CONCLUSIONS A holistic process involving both patient and professional input can be useful in informing the development of mobile applications. The orthodontic application (“My Retainers”) will undergo further scrutiny in relation to its effectiveness in inducing behavioural change and concerning patient experiences prior to finalisation.


Sensors ◽  
2021 ◽  
Vol 21 (10) ◽  
pp. 3480
Author(s):  
Walter Takashi Nakamura ◽  
Iftekhar Ahmed ◽  
David Redmiles ◽  
Edson Oliveira ◽  
David Fernandes ◽  
...  

The success of a software application is related to users’ willingness to keep using it. In this sense, evaluating User eXperience (UX) became an important part of the software development process. Researchers have been carrying out studies by employing various methods to evaluate the UX of software products. Some studies reported varied and even contradictory results when applying different UX evaluation methods, making it difficult for practitioners to identify which results to rely upon. However, these works did not evaluate the developers’ perspectives and their impacts on the decision process. Moreover, such studies focused on one-shot evaluations, which cannot assess whether the methods provide the same big picture of the experience (i.e., deteriorating, improving, or stable). This paper presents a longitudinal study in which 68 students evaluated the UX of an online judge system by employing AttrakDiff, UEQ, and Sentence Completion methods at three moments along a semester. This study reveals contrasting results between the methods, which affected developers’ decisions and interpretations. With this work, we intend to draw the HCI community’s attention to the contrast between different UX evaluation methods and the impact of their outcomes in the software development process.


Sign in / Sign up

Export Citation Format

Share Document