小学期软件工程团队项目进度5
之前,本组计划用利用Monkey来进行测试,但经过我们测试团队的学习,发现了更加适合本项目的测试方法——云测试。
云测试,是基于云计算的一种新型测试方案。服务商提供多种平台,多种浏览器的平台。目前开放的自动化测试有四个方面:深度兼容测试、安全漏洞扫描、功能回放测试、深度遍历测试。另外我们还使用了云测试提供的真机测试。
其中,我们主要使用深度兼容测试、安全漏洞扫描功能。
由上图我们可以看到,在深度兼容测试中,我们用到的云测试也是采用的monkey测试工具,但是其好处在于功能的集成化以及数据的全面性。
我们之所以使用云测试,是因为其具有以下特点:
- 立即可用性
云测试提供一整套测试环境,测试人员利用虚拟桌面等手段登录到该测试环境,就可以立即展开测试。这将软硬件安装、环境配置、环境维护的代价转移给云测试提供者(公共云的经营者或私有云的维护团队)。以现在的虚拟化技术,在测试人员指定硬件配置、软件栈(操作系统、中间件、工具软件)、网络拓扑后,创建一套新的测试环境只需几个小时。如果测试人员可以接受已创建好的标准测试环境,那么他可以立即登录。
2. 装配完备性
云测试不但可以提供完整的测试环境,还可以提供许多附加服务。对于测试机,它可以提供还原点,以便测试人员将虚拟机重置到指定状态。对于测试执行,它可以监控被测试程序的一举一动,例如注册表访问、硬盘文件读写、网络访问、系统日志写入、系统资源占用率、内存映像序列化、屏幕录像等。将这些信息与测试用例一起展现出来,可以帮助测试人员发现问题,定位错误。对于大规模的测试,云测试可以提供多台测试客户机,他们从主控机上下载测试用例,执行并汇报测试结果,主控机将结果汇总后报告给测试人员。实际上,这些功能已经被各种工具所实现,云测试平台的任务是整合它们,提供统一、完备的功能。这样,测试人员就可以将精力最大限度地投入到专属的测试领域中,而不是与各种工具搏斗。
3. 专家服务
最高级的测试服务是提供专业知识的服务。这些知识可以通过测试用例、测试数据、自动测试服务等形式提供。例如,许多应用需要读取文件,云测试可以提供针对文件读取的模糊测试。测试人员将被测试的应用程序提交给云,云将其部署到多台测试机上。在每一台测试上,应用程序要读取海量的文件,每一个文件都是特意构造的攻击文件。一旦栈溢出、堆溢出等问题被发现,立即保存应用程序的内存映像。一段时间后,测试人员将获得云测试返回的测试结果:一份详细的分析报告和一大堆内存映像文件。
4. 节约成本
每个企业都在追求成本最低和利润最大化。软件测试作为研发生产过程的一部分也有降低成本的要求,即使用最少的机器购买最少的测试软件来完成软件测试工作。利用云测试可实现巨大节省,不需要购买或准备很多的个人电脑,购买和安装各类测试用软件,也不再需要部署复杂的网络。只需要列出测试目的、环境的要求、虚拟机台数、何时间断租用即可,实现按需支付。例如购买一套自动化测试软件至少花8000元钱,测试中只需要使用2个月,但如果按800元/月租用该软件云测试平台,只需要支付1600元。同时随着企业软件版本和技术的发展,依赖的测试软件或环境亦需要升级换代,又会产生升级和维护费用。而在云测试环境中这些因素都无须企业考虑,交由提供云测试服务的供应商完成即可。
5. 提高效率
用云测试这种方式,极大地减少了测试环境搭建时间,如机器和网络准备、操作系统安装、各种测试工具软件安装等都将节省,只需提前将需要的配置环境告之云测试服务商,到时间直接使用即可。由于是基于网络上的应用,当测试中遇到软件使用上等问题时,亦可获得云测试服务商远程快速支持,而很少会出现停滞甚至停止测试现象。
经过讨论,我们最终选用的云测试工具为百度移动测试。