75,234 research outputs found

    The Development of an Automated Testing Framework for Data-Driven Testing Utilizing the UML Testing Profile

    Get PDF
    The development of increasingly-complex Web 2.0 applications, along with a rise in end-user expectations, have not only made the testing and quality assurance processes of web application development an increasingly-important part of the SDLC, but have also made these processes more complex and resource-intensive. One way to effectively test these applications is by implementing an automated testing solution along with manual testing, as automation solutions have been shown to increase the total amount of testing that can be performed, and help testing team achieve consistency in their testing efforts. The difficulty, though, lies in how to best go about developing such a solution. The use of a framework is shown to help, by decreasing the amount of duplicate code and maintenance required, and increasing the amount of separation among the various elements of the testing solution. This research examines the use of the UML Testing Profile (UTP), including the use of UML diagrams, in the creation of such a framework. Using an Action Design Research methodology, a framework is developed for an automated testing solution that utilizes the Selenium Webdriver with a data-driven methodology, used in an organizational context, and evaluated, over the course of multiple iterations. Design principles, including the use of a test architecture and test context, the use of UML diagrams for the creation of Page Objects, and the identification and implementation of workflows are distilled from these iterations, and their impact on the larger context, the delivery of a robust application that meets end-user expectations, is examined

    Intelligent Coordination and Automation for Smart Home Accessories

    Get PDF
    Smarthome accessories are rapidly becoming more popular. Although many companies are making devices to take advantage of this market, most of the created smart devices are actually unintelligent. Currently, these smart home devices require meticulous, tedious configuration to get any sort of enhanced usability over their analog counterparts. We propose building a general model using machine learning and data science to automatically learn a user\u27s smart accessory usage to predict their configuration. We have identified the requirements, collected data, recognized the risks, implemented the system, and have met the goals we set out to accomplish

    Evolving web-based test automation into agile business specifications

    Get PDF
    Usually, test automation scripts for a web application directly mirror the actions that the tester carries out in the browser, but they tend to be verbose and repetitive, making them expensive to maintain and ineffective in an agile setting. Our research has focussed on providing tool-support for business-level, example-based specifications that are mapped to the browser level for automatic verification. We provide refactoring support for the evolution of existing browser-level tests into business-level specifications. As resulting business rule tables may be incomplete, redundant or contradictory, our tool provides feedback on coverage

    Towards a Tool-based Development Methodology for Pervasive Computing Applications

    Get PDF
    Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous devices, overcoming the intricacies of distributed systems technologies, working out an architecture for the application, encoding it in a program, writing specific code to test the application, and finally deploying it. This paper presents a design language and a tool suite covering the development life-cycle of a pervasive computing application. The design language allows to define a taxonomy of area-specific building-blocks, abstracting over their heterogeneity. This language also includes a layer to define the architecture of an application, following an architectural pattern commonly used in the pervasive computing domain. Our underlying methodology assigns roles to the stakeholders, providing separation of concerns. Our tool suite includes a compiler that takes design artifacts written in our language as input and generates a programming framework that supports the subsequent development stages, namely implementation, testing, and deployment. Our methodology has been applied on a wide spectrum of areas. Based on these experiments, we assess our approach through three criteria: expressiveness, usability, and productivity

    Automated Functional Testing based on the Navigation of Web Applications

    Full text link
    Web applications are becoming more and more complex. Testing such applications is an intricate hard and time-consuming activity. Therefore, testing is often poorly performed or skipped by practitioners. Test automation can help to avoid this situation. Hence, this paper presents a novel approach to perform automated software testing for web applications based on its navigation. On the one hand, web navigation is the process of traversing a web application using a browser. On the other hand, functional requirements are actions that an application must do. Therefore, the evaluation of the correct navigation of web applications results in the assessment of the specified functional requirements. The proposed method to perform the automation is done in four levels: test case generation, test data derivation, test case execution, and test case reporting. This method is driven by three kinds of inputs: i) UML models; ii) Selenium scripts; iii) XML files. We have implemented our approach in an open-source testing framework named Automatic Testing Platform. The validation of this work has been carried out by means of a case study, in which the target is a real invoice management system developed using a model-driven approach.Comment: In Proceedings WWV 2011, arXiv:1108.208

    Enabling High-Level Application Development for the Internet of Things

    Get PDF
    Application development in the Internet of Things (IoT) is challenging because it involves dealing with a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases. when developing applications. First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have to deal with other aspects of life-cycle such as changes in application requirements and deployed devices. Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This paper proposes an integrated approach for addressing the above mentioned challenges. The main contributions of this paper are: (1) a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, (2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques to provide automation. Code generation supports the application development phase by producing a programming framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development
    corecore