180,531 research outputs found

    Load Testing of Vaadin Flow applications

    Get PDF
    All types of businesses, from small start-ups to big enterprises, have an online presence. Their web pages and applications can be used to acquire products ans services and are thus expected to be efficient. Yet, the web environment imposes additional requirements on software, such as the need for reliable security and adequate response times. To ensure these requirements are met and the product is of the expected quality, various types of testing are utilized during development. This master’s thesis evaluates a procedure for verifying a non-functional requirement of a web application – its performance. It focuses on load testing, which is used to analyze and assess an application’s behavior with different user loads. The scope of applications is limited to server-side applications that are developed with the latest long-term support version of the Vaadin framework. The effects of the performance arising from the server-side architecture of the framework and the Java ecosystem are reviewed. Furthermore, an overview of available improvement techniques, such as cache and load balancers, is given. From a load testing perspective, the biggest challenges that arise from Vaadin’s architecture are its unique features. These include node values of user interface components, synchronization and Cross-Site Request Forgery protection tokens. The defined universal regular expressions that capture these attributes can be used again later. The main contribution of this thesis is formulating a ready-to-use method of load testing a Vaadin Flow application. Once established and analyzed, the method is then applied to a real-life situation to verify its applicability and usefulness. Two widely used load testing tools are utilized – JMeter and Gatling. Furthermore, a method to estimate a web application’s session size is presented. Potential bottlenecks and other potential issues are identified by using a profiled to track the application’s memory consumption during a test run. After the load test is finalized and completed, a session size estimation is conducted. As a result of test execution, a potential bottleneck is identified and fixed in the application. Complete test plans for both JMeter and Gatling are defined and implemented. Alternatives and possible improvements to the proposed solution are reviewed. Based on the literature review, when deploying an application on multiple servers, the best solution is enabling the sticky sessions feature

    Автоматизована система оцінки якості навчального процесу

    Get PDF
    Дипломна робота присвячена розробці WEB-додатку для оцінювання якості навчального процесу шляхом оцінювання студентами роботи викладачів та навпаки, з метою покращення якості освітнього процесу навчального закладу, отримання актуальної інформації про здібності та успішність учасників освітнього процесу, зменшення грошових та трудових витрат на організацію опитувань. Основними задачами є створення працездатної системи, що буде мати можливість до розширення, додавання нового функціоналу у разі потреби, достатньо дружній інтуїтивно зрозумілий користувацький інтерфейс. У розділі аналізу вимог до програмного продукту були поставлені цілі та задачі, визначені основні функціональні та нефункціональні вимоги, означені призначення та ціль розробки додатку та актуальність проблеми, що вирішується. У розділі конструювання програмного забезпечення була проведена декомпозиція предметної області, розглянуті основні ролі користувачів у додатку, описані технології для розробки WEB-додатків та їх можливі аналоги, розглянуті можливі підходи до розробки додатків та обраний найбільш підходящий для цілей роботи. У розділі випробувань програмного забезпечення було виконано тестування додатку з допомогою мануального тестування, описані розповсюджені підходи до тестування WEB-додатків та технології, що для цього використовуються. Був описаний процес розгортування додатку.Work is devoted to the development of WEB-application for assessing the quality of the educational process by assessing the work of teachers and vice versa, in order to improve the quality of the educational process, obtain relevant information about the abilities and successability of participants in the educational process. The main tasks are to create a workable system that will be able to expand, add new functionality if necessary, a fairly friendly intuitive user interface. The section of the analysis of the requirements for the software product set goals and objectives, defined the main functional and non-functional requirements, defined the purpose and purpose of application development and the relevance of the problem to be solved. In the software design section the subject area was decomposed, the main roles of users in the application were considered, technologies for WEB-applications development and their possible analogues were described, possible approaches to application development were considered and the most suitable one was selected. In the software testing section, the application was tested using manual testing, and common approaches to testing WEB applications and the technologies used for this purpose were described. The application deployment process was described

    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

    Cloud based testing of business applications and web services

    Get PDF
    This paper deals with testing of applications based on the principles of cloud computing. It is aimed to describe options of testing business software in clouds (cloud testing). It identifies the needs for cloud testing tools including multi-layer testing; service level agreement (SLA) based testing, large scale simulation, and on-demand test environment. In a cloud-based model, ICT services are distributed and accessed over networks such as intranet or internet, which offer large data centers deliver on demand, resources as a service, eliminating the need for investments in specific hardware, software, or on data center infrastructure. Businesses can apply those new technologies in the contest of intellectual capital management to lower the cost and increase competitiveness and also earnings. Based on comparison of the testing tools and techniques, the paper further investigates future trend of cloud based testing tools research and development. It is also important to say that this comparison and classification of testing tools describes a new area and it has not yet been done

    SmartMirror: A Glance into the Future

    Get PDF
    In todays society, information is available to us at a glance through our phones, our laptops, our desktops, and more. But an extra level of interaction is required in order to access the information. As technology grows, technology should grow further and further away from the traditional style of interaction with devices. In the past, information was relayed through paper, then through computers, and in todays day and age, through our phones and multiple other mediums. Technology should become more integrated into our lives - more seamless and more invisible. We hope to push the envelope further, into the future. We propose a new simple way of connecting with your morning newspaper. We present our idea, the SmartMirror, information at a glance. Our system aims to deliver your information quickly and comfortably, with a new modern aesthetic. While modern appliances require input through modules such as keyboards or touch screen, we hope to follow a model that can function purely on voice and gesture. We seek to deliver your information during your morning routine and throughout the day, when taking out your phone is not always possible. This will cater to a larger audience base, as the average consumer nowadays hopes to accomplish tasks with minimal active interaction with their adopted technology. This idea has many future applications, such as integration with new virtual or augmented reality devices, or simplifying consumer personal media sources

    Web development evolution: the assimilation of web engineering security

    Get PDF
    In today’s e-commerce environment, information is an incredibly valuable asset. Surveys indicate that companies are suffering staggering financial losses due to web security issues. Analyzing the underlying causes of these security breaches shows that a significant proportion of them are caused by straightforward design errors in systems and not by failures in security mechanisms. There is significant research into security mechanisms but there is little research into the integration of these into software design processes, even those processes specifically designed for Web Engineering. Security should be designed into the application development process upfront through an independent flexible methodology that contains customizable components
    corecore