当前位置: X-MOL 学术Softw. Test. Verif. Reliab. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On automation in software engineering
Software Testing, Verification and Reliability ( IF 1.5 ) Pub Date : 2020-08-16 , DOI: 10.1002/stvr.1753
Robert M. Hierons 1 , Tao Xie 2
Affiliation  

This issue of STVR contains two papers that describe automated techniques. Automation has been an important theme in the software engineering research community for many years. In fact, there is an established annual conference (i.e., ASE) devoted to this topic. Many automated techniques have been developed over the years and are likely to remain a major focus of work in software testing, verification, and reliability. It is clear that some problems (e.g., test execution) are more amenable to automation than others (e.g., test generation and correctness‐proof construction). However, there has been promising progress in many areas.

The increasing importance and popularity of artificial intelligence (AI) has introduced both challenges and opportunities toward automation in software engineering. Systems that use AI often do not have specifications and so it can be difficult to determine whether a behavior is correct (we have no test oracle) or to prove that a piece of software is correct (prove against what?). In addition, we require a model or specification if we are to apply model‐based testing techniques, and classical coverage metrics used in many white‐box testing techniques appear not to help. It therefore appears that we will need a completely new set of techniques if we are to extend automation to the complete set of AI systems. The good news is that it may be possible to utilize a range of AI techniques, building on work that uses, for example, metaheuristic search or neural networks to automate software testing and formal verification for (non‐AI) software. There is already work in this direction, and we look forward to seeing how this area, of using AI to test or verify AI, develops.

In the first paper, Sundeuk Kim, Ilhyun Suh, and Yon Dohn Chung present the simulation‐based automatic monitoring (SAM) approach for pinpointing web application failures, including those that require browser APIs or client programs. The SAM approach can monitor all three types of web applications: basic, web browser API‐added, and client program‐based types. The SAM approach includes a DOM‐based simulation model using the installation information of browser API‐added and client program‐based applications (recommended by Sreedevi Sampath).

In the second paper, Thomas Walsh, Gregory M. Kapfhammer, and Phil McMinn address a problem in the area of web page layout. The underlying issue is that the layout of web pages, as seen by a user, depends upon the device and browser used. Typically, it is not practical to test with all possible combinations, and in addition, the actual layout is usually manually checked. This paper focuses on regression testing and introduces an automated approach that compares the layout of two pages: the page before a change is made and the page after a change is made. Differences are then reported to the developer (recommended by Marcio Delamaro).



中文翻译:

关于软件工程中的自动化

本期STVR包含两篇描述自动化技术的论文。多年来,自动化一直是软件工程研究界的重要主题。实际上,有专门针对此主题的年度会议(即ASE)。这些年来已经开发了许多自动化技术,并且可能仍然是软件测试,验证和可靠性方面的主要工作重点。显然,某些问题(例如,测试执行)比其他问题(例如,测试生成和验证正确性的构造)更易于自动化。但是,在许多领域都取得了可喜的进展。

人工智能(AI)的重要性和日渐普及给软件工程自动化带来了挑战和机遇。使用AI的系统通常没有规范,因此很难确定行为是否正确(我们没有测试先兆)或证明某个软件正确(针对什么?)。此外,如果我们要应用基于模型的测试技术,则需要模型或规范,而许多白盒测试技术中使用的经典覆盖率指标似乎无济于事。因此,如果要将自动化扩展到整套AI系统,则似乎需要一套全新的技术。好消息是,有可能在使用例如 元启发式搜索或神经网络来自动化软件测试和(非AI)软件的形式验证。已经朝着这个方向开展了工作,我们期待看到使用AI测试或验证AI的这一领域是如何发展的。

在第一篇论文中,Sundeuk Kim,Ilhyun Suh和Yon Dohn Chung提出了基于仿真的自动监视(SAM)方法,用于查明Web应用程序故障,包括那些需要浏览器API或客户端程序的故障。SAM方法可以监视所有三种类型的Web应用程序:基本类型,添加Web浏览器API的类型和基于客户端程序的类型。SAM方法包括基于DOM的仿真模型,该模型使用添加了浏览器API的应用程序和基于客户端程序的应用程序的安装信息(由Sreedevi Sampath推荐)。

在第二篇论文中,Thomas Walsh,Gregory M. Kapfhammer和Phil McMinn解决了网页布局方面的问题。潜在的问题是,如用户所见,网页的布局取决于所使用的设备和浏览器。通常,用所有可能的组合进行测试都是不实际的,此外,通常是手动检查实际布局。本文着重于回归测试,并介绍了一种自动方法,该方法可以比较两个页面的布局:进行更改之前的页面和进行更改之后的页面。然后将差异报告给开发人员(由Marcio Delamaro建议)。

更新日期:2020-08-19
down
wechat
bug