Software Testing in Cloud Computing

Background

In the past decade, software especially mobile applications are increasingly developed to closely relate to people's lives, such as payment, transportation, finance, health sector, business, construction and building, defence, and so on. Since development of standardized programming languages in 1950s into higher-level and easily understood by human programmers, software has risen into integral part of daily industrial and business operations. Similarly, for the same period, human-computer interaction (HCI) though increased rapidly resulting in enhanced usability and user experiences. As pointed by Shneiderman et al. (2016) and Preece et al. (2015), under HCI, users were able to interact directly with sophisticated computers system. The consequence of this repaid expansion saw not only more attention given to quality of software products but also reducing significantly the size of computers reaching out to less experienced users. As a result, the development in software and HCI expanded to incorporate multiple disciplines that include human-factors engineering, cognitive science, and computer engineering. Essentially, the evolution of software from machine languages has been rooted on need to enhance user experience over increasing levels of both simplicity and complexity. Before the rise of HCI, the computers were essential accessible to academicians, professionals, and other few hobbyists with limited users’ base.

Whatsapp

The term software engineering was coined in 1960s with aim of averting the ‘software crisis’ that emanated from difficulty in writing useful and efficient software and computer programmes largely attributed to complexity and power magnitude of computers (Jalote, 2012; Mall, 2018). Regular developing, maintaining, and updating software has ushered in inevitable software evolution leading to introduction of major changes that include security changes, adding or removing some equipment, environmental changes, optimization, and requirement changes (deleting components perceived obsolete). Modification of this software to correct faults and enhancing the functionality of the system has become common practice among the users primarily business entities. Researchers and scholars have grounded the arguments grounded on Lehman’s laws alluding that maintenance is evolutionary and its decision are based on the need to understand the system and software over time (Skoulis et al., 2014; Yu, and Mishra, 2013). Such concepts code refactoring that involves a process of restructuring existing code (software) without affecting its external behaviour but improving non-functional attributes and code readability can significantly reduce complexity as software evolve. Nevertheless, with the rapid expansion of the scale of software development and software structure more complex, it results in increasingly difficult to guarantee the quality of software. Currently, small and medium-sized projects have increasingly adopted extreme programming methodology in attempt to counter rapid changing software requirement. Research has demonstrated that software failure is traceable to ineffectiveness of testing system. In attempt to counter challenges emanating from ineffective testing, studies have recommended having regular testing done by competent programmers. Although test-first approach aids in nailing down precisely the behaviour of the system while considering the specification and functionality of the software before been written, such test-driven development relying on repetitive testing that can be extremely difficult in testing especially in situations where full functional tests in determining the failure or success of a system. Coupled with challenges associated to end user needs and demands (short schedule, zero deficit, and high performing products) and hardware demand, fixing enormous errors and bugs during the development process is perceived as a crucial stage. Due to complexity and interactive nature of software, manual testing with real-time requirements is perceived unreliable, if not impossible.

Companies are increasingly adopting Cloud platforms (PaaS) for developing and deploying applications and/or SaaS-based applications. As noted by Sarna (2010) and Wong & Goscinski (2013), this approaches of using third party provided software and hardware tools provide resilient and optimized environment for development process in addition to enabling the developers to focus on creation and running applications rather than maintenance underlying infrastructure and services. Primarily, the PaaS eliminates the capital expenses traditionally invested in development hardware and services in addition to offering accessible and resilience. The concern of service outage, provider lock-in, and infrastructure disruption affecting significantly productivity and reliability has been raised.

Problem statement

As a result, software testing technology is facing a bottleneck, to solve the problem of quality of software product, software developers have begun to increase investment in the software testing, sometimes testing costs will be up to 60 % to 80% of the total cost of the software. Given that software testing can result in test team busying testing the product rather than producing new or doing maintenance to the older version to match new demands and requirements, this approach can cause severe redundancies especially in small and medium organization. While the increase investment for some small and medium enterprises is not realistic, so that enterprises are facing a crisis of survival. As such, given increasing demand for reliable, optimization, user efficacy, and interactive system in contemporary software environment characterised by complex codes and rapid evolution draws concerns whether PaaS solve the problems associated with software development and testing.

Aim of the project

The purpose of this project is to create a java application and test it in the different cloud environments. After testing in different cloud, services evaluate the features of them from the acquired results.

Objective of the project

In attempt aim to address the creating java application and testing in difference PaaS platforms, this studies was driven by the following objectives:

  1. To critically evaluate the concepts and findings related to software development, testing, Cloud computing, PaaS, and challenges faced as outlined by previous studies
  2. To create java application, test in different cloud computing services, and storing the code in the repository by conducting push, pull and commit in the Git hub on Google cloud platform and Azure.
  3. To evaluate features of cloud environment related to development and testing software by stating the advantages and disadvantage of the results obtained from the testing performed on the software.
  4. To draw conclusion on the results from creating, testing, and storing java application on cloud platforms highlight its viability, reliability, user-efficacy, and optimization

Literature review

Broadly, this chapter covers the findings, discussion, and inferences drawn from existing studies related to the research topic, aim, questions, and objectives. Driven purposely to highlight and critically review the ideas, conclusion, concepts, and theorised views of researchers and theorists, it develops knowledge gaps by analysing current knowledge that include substantive findings and theoretical contributions associated to cloud computing, software development, management, testing, and updating, and software architectural attributes. Therefore, it encompasses such concepts and discussion of code refactoring, test-first, Lehman’s theory, waterfall model, V-model, agile model, and scrum model collectively modelled around software development and testing.

Method evaluation (Methods used)

Based on the description outlined by Bryman (2016), research method outlines the process and tools followed in data collection and analysis in order to discover new information or understanding existing better. In this case, the research focused on creating java application and testing in on cloud computing aimed capturing various features that include advantages, disadvantages, and applicability within user efficacy and developers’ optimization of a given software. It adopts a inductive research approaches grounded on the idea that features of java application in cloud computing platforms were obtained through observation then pattern drawn that subsequently used to come up with results based inferences.

Tools and techniques

This project employed the use of both hardware and software tools, which facilitated development of java application and subsequent its testing and storage. Hardware comprises of personal computer and router (internet connector) whereas, the software include Eclipse IDE. Importantly, it makes use of PaaS platforms for testing and storage that include Git hub on Google cloud, Microsoft Azure, Salesforce, and Heroku.

Procedures

The initial stages of this research project were to identify the research topic and objectives. This was followed by reviewing the existing literature with aim of linking the current knowledge bundled within concepts, theories, findings, and conclusion of other researchers and research problem. The currently step is creation java application developed using Eclipse IDE software. After completion of development of the application, it will transferred to cloud platform for testing and storage then followed by data collection and analysis.

Ethnical, risk, and process issues

Although this research project did not involve human participants during data collection, it ensured ethical considerations were and risks associated to software development, authenticity of research, and reliability of the data and information. As such, it strived on ensuring the data and information collected were accurately represented and references. Importantly, factors surrounding user interface, system modifications, and testing were taken into account during development and testing process.

Planned work

The following tasks is schedule for the next stage

  • Review of existing literature
  • Drafting data collection methods and analysis
  • Development of java application
  • Testing in Paas platforms
  • Data collection
  • Data analysis
  • Discussion and conclusion

Implementation plan

Implementation plan
Looking for further insights on Women Peace and Security Click here.
Order Now

Reference

  • Bryman, A., 2016. Social research methods. Oxford university press.
  • Jalote, P., 2012. An integrated approach to software engineering. Springer Science & Business Media.
  • Mall, R., 2018. Fundamentals of software engineering. PHI Learning Pvt. Ltd..
  • Preece, J., Rogers, Y. and Sharp, H., 2015. Interaction design: beyond human-computer interaction. John Wiley & Sons.
  • Sarna, D.E., 2010. Implementing and developing cloud computing applications. Auerbach Publications.
  • Shneiderman, B., Plaisant, C., Cohen, M., Jacobs, S., Elmqvist, N. and Diakopoulos, N., 2016. Designing the user interface: strategies for effective human-computer interaction. Pearson.
  • Skoulis, I., Vassiliadis, P. and Zarras, A., 2014, June. Open-source databases: Within, outside, or beyond lehman’s laws of software evolution?. In International Conference on Advanced Information Systems Engineering (pp. 379-393). Springer, Cham.
  • Wong, A.K. and Goscinski, A.M., 2013. A unified framework for the deployment, exposure and access of HPC applications as services in clouds. Future Generation Computer Systems, 29(6), pp.1333-1344.
  • Yu, L. and Mishra, A., 2013. An Empirical Study of Lehman's Law on Software Quality Evolution. Int. J. Software and Informatics, 7(3), pp.469-481.

Sitejabber
Google Review
Yell

What Makes Us Unique

  • 24/7 Customer Support
  • 100% Customer Satisfaction
  • No Privacy Violation
  • Quick Services
  • Subject Experts

Research Proposal Samples

It is observed that students are not able to pull out the task of completing their dissertation, so in that scenario, they prefer taking the help of the Dissertation Writer, who provides the best and top-notch Essay Writing Service and Thesis Writing Services to them. All the Dissertation Samples are cost-effective for the students. You can place your order and experience amazing services.


DISCLAIMER : The dissertation help samples showcased on our website are meant for your review, offering a glimpse into the outstanding work produced by our skilled dissertation writers. These samples serve to underscore the exceptional proficiency and expertise demonstrated by our team in creating high-quality dissertations. Utilise these dissertation samples as valuable resources to enrich your understanding and enhance your learning experience.