TAAS是软件既服务(SaaS)在测试领域的具体应用,此处关于TAAS架构的研究,是指针对于具体软件测试过程涉及到的各环节web服务化后整体逻辑架构,而不是物理架构。相对于普通的软件,测试软件尤其是动态测试软件有一点很特殊,那就是测试环境的多样性与复杂性。多样性是指没有办法通过枚举的方法预先配置好所有的测试环境;而复杂性是指测试环境不仅涉及到具体的环境配置相关工作,还涉及到特定项目所受到的内部或者外部规章制度的制约。由于测试环境的多样性与复杂性,导致TAAS基本都停留在特定几个测试环境的租用层面上。因此需要分析测试过程中各个测试环节,将可web服务化的环节及不可web服务化的环节区分开,对于不可web服务化的环节还要进行可放到云服务器和不可放到云服务器区分,从而制定出更具通用性的TAAS架构。
一般情况下,软件测试方法主要包括静态分析和动态测试。在各自的方法中中又包括多个具体环节。有些环节是必不可少的,而有些环节是可选的。在分析这些环节是否可web服务化、是否必须以及所属步骤等信息,将能够web服务化的环节以web服务的形式供测试人员使用,将不可web服务化的环节容纳到测试终端当中,测试终端、浏览器、web服务共同组成了TAAS的软件架构。
序号 | 步骤 | 环节 | 是否可web服务化 | 是否可选 |
1 | 静态分析 | 基本静态分析 | 是 | 否 |
2 | 控制流图 | 是 | 是 | |
3 | 质量检查 | 是 | 是 | |
4 | 指标度量 | 是 | 是 | |
5 | 静态缺陷扫描 | 是 | 是 | |
6 | 动态测试 | 用例执行 | 否 | 否 |
7 | 约束求解用例集自动生成 | 是 | 是 | |
8 | 随机用例集自动生成 | 是 | 是 | |
9 | 模块选择 | 是 | 是 | |
10 | 用例选择 | 是 | 是 |
表1 软件测试主要功能可服务化分析列表
云计算的推广和应用大幅度降低了用户的使用成本,也促进了了用户对软件(服务)的使用。但在软件测试领域,由于软件测试尤其是动态测试在云计算环境中的拓展却进展缓慢。很多关于云测试的研究仍然停留在为用户提供测试环境层面。将表1中软件测试的各环节应用到云环境中,即可构成云环境中的测试即服务(TAAS),具体架构如图1.
图1 云环境中的TAAS