Scott R. Tilley’s research while affiliated with Florida Institute of Technology and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (193)


Hard Problems in Software Testing: Solutions Using Testing as a Service (TaaS)
  • Article

August 2014

·

57 Reads

·

5 Citations

Scott Tilley

·

Brianna Floss

Download Free Sample This book summarizes the current hard problems in software testing as voiced by leading practitioners in the field. The problems were identified through a series of workshops, interviews, and surveys. Some of the problems are timeless, such as education and training, while others such as system security have recently emerged as increasingly important. The book also provides an overview of the current state of Testing as a Service (TaaS) based on an exploration of existing commercial offerings and a survey of academic research. TaaS is a relatively new development that offers software testers the elastic computing capabilities and generous storage capacity of the cloud on an as-needed basis. Some of the potential benefits of TaaS include automated provisioning of test execution environments and support for rapid feedback in agile development via continuous regression testing. The book includes a case study of a representative web application and three commercial TaaS tools to determine which hard problems in software testing are amenable to a TaaS solution. The findings suggest there remains a significant gap that must be addressed before TaaS can be fully embraced by the industry, particularly in the areas of tester education and training and a need for tools supporting more types of testing. The book includes a roadmap for enhancing TaaS to help bridge the gap between potential benefits and actual results. Table of Contents: Introduction / Hard Problems in Software Testing / Testing as a Service (TaaS) / Case Study and Gap Analysis / Summary / Appendix A: Hard Problems in Software Testing Survey / Appendix B: Google App Engine Code Examples / Appendix C: Sauce Labs Code Examples / References / Author Biographies


Testing as a Service (TaaS)

January 2014

·

2 Reads

As software systems grow in size and complexity, testing is becoming an increasingly costly endeavor in terms of time, labor, and other resources. Despite the best efforts of software testers, defects continue to elude standard testing techniques, resulting in production environments where errors cost significantly more to repair.


Case Study and Gap Analysis

January 2014

·

55 Reads

This chapter presents a case study that provides the basis for an evaluation of TaaS against the issues identified in the HPST survey. The evaluation framework is described and applied to the tools examined in the case study. Of the twelve tools introduced in the previous chapter, three were chosen as candidates for additional analysis: Sauce Labs, SOASTA CloudTest Lite, and BlazeMeter. The remainder of this chapter details the case study and provides an analysis of the gap between current TaaS solutions and industry needs.


Hard Problems in Software Testing

January 2014

·

2 Reads

Software testing is a critical phase of the software lifecycle, responsible for assuring the quality of a system under test; however, testing suffers from a variety of challenges—both new and timeless. In order to evaluate the ability of TaaS to overcome these challenges, the needs of the industry must first be identified.



Research directions in web systems evolution V: Architecture

September 2013

·

17 Reads

·

3 Citations

The architecture of a Web system affects many of its quality attributes, such as testability, security, and accessibility. The architecture itself is influenced by factors such as system requirements, infrastructure constraints, and interoperability needs. This session is the fifth in a series of special events held at WSE focused on selected aspects of research directions in Web systems evolution, and the first focused on issues related to the role of architecture.


Writing about technology

July 2013

·

9 Reads

Communication skills are essential to a successful career in computing. You may be an excellent programmer, but if you can't explain your work to your peers then your career will quickly plateau. This means the most important language you should master during your graduate studies is not C# or Java -- it's English. Whether it's writing reports for class, writing conference or journal papers to summarize research results, or writing a long document such as a thesis or a dissertation, it's all writing. Your special challenge is explaining complex concepts to your readers in a way that they can easily understand. Fortunately, this is a skill that you can learn.


Detecting emulated environments

March 2013

·

45 Reads

·

1 Citation

International Journal of Software Engineering and Knowledge Engineering

·

Scott Tilley

·

·

[...]

·

Richard Ford

One of the most powerful tools in the hacker's reverse engineering arsenal is the virtual machine. These systems provide a simple mechanism for executing code in an environment in which the program can be carefully monitored and controlled, allowing attackers to subvert copy protection and access trade secrets. One of the challenges for anti-reverse engineering tools is how to protect software within such an untrustworthy environment. From the perspective of a running program, detecting an emulated environment is not trivial: the attacker can emulate the result of different operations with arbitrarily high fidelity. This paper demonstrates a mechanism that is able to detect even carefully constructed virtual environments by focusing on the stochastic variation of system call timings. A statistical technique for detecting emulated environments is presented, which uses a model of normal system call behavior to successfully identify two commonly used virtual environments under realistic conditions.


Software Testing as a Service: An Academic Research Perspective

March 2013

·

78 Reads

·

9 Citations

Software testing is becoming an increasingly expensive and time-consuming endeavor. With advances in cloud computing, new methods of testing in cloud environments are allowing testers to take advantage of the vast resources of the cloud while demanding less upfront costs. Testing as a service (TaaS) is a model of software testing that offers accessible services that handle testing activities for consumers on a pay-for-use basis. The goal of this paper is to describe the state of academic research within TaaS, including a basic architecture, example services, recent studies, benefits, challenges, needs, and a road ahead.


Testing Web Services in the Cloud

January 2013

·

21 Reads

·

2 Citations

Cloud Computing makes it possible for users to access a wide range of web services in the public domain and to embed these global services in their local applications. This promises to save a significant amount of individual development cost. The biggest obstacle to using this technology is the problem of trust. To gain trust in the services offered they have to be extensively tested, either by the user himself or by a trusted agent. This chapter deals with the testing of web services in the cloud. There are many similarities to testing web services in a local service-oriented architecture, but there are also significant differences. In a company specific SOA, testers can gain access to the source. This is not true of the cloud. There is no possibility of accessing the source. Therefore, testers must rely solely on the specification contained in the service level agreement – SLA – and the web service interface definition – WSDL or REST – to base their test upon. Testing in the cloud is strictly a black-box test. The goal of a cloud service test is also not to find errors but to assess the suitability of the service to the purpose of the user. It may be necessary to test several services in order to find that one best suited to the requirements of the user. To judge suitability it is necessary to define an ideal usage profile, including performance, security and other non-functional criteria, and to compare that with the actual profile of each potential service. For this both static and dynamic analysis methods must be applied. The chapter presents an automated approach to assessing cloud services and selecting that one most suitable to the user’s application.


Citations (60)


... Indeed, migrating testing to the cloud is not without costs, and not necessarily is the right solution in any case. To support managers and testers, Tilley and Parveen [5] developed a framework that guides them step-by-step in analysing all aspects behind the very decision of migrating testing to the cloud, along the relevant business drivers and technical factors. ...

Reference:

Cloud testing automation: industrial needs and ElasTest response
Software testing in the cloud: Migration and execution
  • Citing Chapter
  • January 2012

... They suggest that a suitable testing will need to involve unit and regression testing, high volume of test cases and availability of interfaces for test automation. In [8], authors present a decision framework solution called SMART-T that supports migration of software testing actions into the cloud. The authors include a distributed environment called "HadoopUnit" that allows the cloud based concurrent execution of test cases and a sequence of use case scenarios to demonstrate the use of the framework and its environment. ...

Software Testing in the Cloud
  • Citing Book
  • January 2012

... 26 In a cloud-based environment, there is no need to set up a test environment due to the readily ondemand virtual test environment. 27,28 The suitability of migrating the performance test to the cloud-based environment was proved by Tilley et al. 29 Tilley et al. proved the suitability by evaluating the migration of test execution to the cloud environment. The experiment was performed using Amazon EC2. ...

SMART-T: Migrating Testing to the Cloud
  • Citing Chapter
  • September 2012

... Although tremendous efforts have been devoted to maintaining high service availability [1]- [4], cloud computing platforms still encounter many incidents, i.e., unplanned interruptions of the services. These incidents, especially outages (i.e., This work was done at Microsoft Research (Beijing, China). ...

Software Testing in the Cloud: Perspectives on an Emerging Discipline
  • Citing Book
  • January 2012

... The study provides limited data on the results. Test case generation using JUnit is presented in [88], with three series of experiments. They determined the performance of the JUnit test execution using one machine, then they used HadoopUnit to coordinate testing on four nodes in a cluster, finally they tested the reduction of map tasks by increasing the workload of each map task. ...

Performance Analysis of a Distributed Execution Environment for JUnit Test Cases on a Small Cluster
  • Citing Article
  • January 2012

... We could not find any articles that list all the factors, issues, challenges, and barriers and to elucidate how and why they affect the adoption of TaaS. The exceptions are studies made by Tilley and Floss (2014) and Jia et al. (2016). The former study by Tilley and Floss (2014) only conducts the industrial questionnaire survey, while the later conduct only SLR. ...

Hard Problems in Software Testing: Solutions Using Testing as a Service (TaaS)
  • Citing Article
  • August 2014

... Modeling the system architecture enables effective communication and collaboration among the stakeholders involved in the development process, as it provides a common language and framework for discussing and understanding the system's structure and behavior. 40 System architecture modeling tools and languages, such as the object process methodology (OPM) and system modeling language (SysML), are used to create models that drive the implementation, validation, and maintenance phases of engineering systems. 41 Moreover, owing to the increase in the complexity of problems, system architecture analysis provides value to projects in areas such as cost, schedule, and technical quality and contributes to the overall project success. ...

8th international workshop on graphical documentation: SOA-based systems
  • Citing Conference Paper
  • October 2012