软件测试技术实战 设计、工具及管理》联载-28

简介: 软件测试技术实战 设计、工具及管理》联载-28

6.2.5  定位问题


由于云产品运行在何处对于用户来说是透明的,一旦发现这个问题,开发工程师往往需要登录到发生问题的机器去查看log文件以确定问题,进而解决问题。但是,运行位置不固定给定位问题带来了很大麻烦。如图6-4所示,一旦系统发生问题,我们能够确定是在哪台机器上出现的吗?在悉尼,在法国,还是在纽约?

image.png

6-4  云软件测试缺陷定位问题


案例6-6HP的云缺陷定位系统。

由于云计算采用网格计算方式,系统在哪里运行对用户来说都是透明的,虽然它具有很大的优势,但是这也正如前面所述,对于发现缺陷、定位问题带来了麻烦。幸好HP公司推出了一套基于云的缺陷解决系统。该系统运行在主服务器上,一个产品对应一个日志,其日志实时地把当前应用所在的应用服务器、数据库服务器等信息写在Log日志中。一旦发现问题,可以先从主服务器这个Log日志中通过问题发生的时间信息来确定发生问题机器的位置,然后登录到问题所在服务器中去查找相应的Log日志,从而定位问题。


6.2.6  法律法规问题


基于云的软件测试的目的除了发现Bug外,在云计算中还有一个关键性的问题,那就是由于各国的法律法规不同,而造成数据隐私性的问题。比如,欧洲有《荷兰数据保护法》《欧洲个人数据保护指令》,美国有《美国-欧盟保护港》等,这些条款中存在各种不一致性的地方。


案例6-7:云计算中的法律法规问题。

某公司计划把他们的应用软件中的存储部分放在某个云运营商处,软件测试部门贾经理根据市场部门反馈回的信息,获知该云运营商所有服务器有两台位于美国,4台位于欧洲。由于9·11以后,美国颁布了《爱国者法案》,这条法案中规定“只要有检查是否存在恐怖袭击的需求,美国政府有权利查看任意一台存储在美国本土机器中的任何资料信息”。另外,微软也承认《爱国者法案》可获取欧盟云端的资料。基于这些调查,贾经理将这个信息以Email的方式告诉公司CEOCTOCEOCTO专门召开了公司中高层人员会议,决定更换云运营商,新的运营商的服务器全部在远东地区,并且查实这些国家不存在像《爱国者法案》那样的由于法律法规引起的数据安全性问题。


6.2.7  迁移性软件测试


迁移性软件测试在云计算中普遍存在,如要更换供应商,或者对云平台进行大规模的升级,都需要进行迁移性工作,如图6-5所示。迁移性软件测试主要测试迁移后系统在新的环境中是否可以正常运行,是否会发生数据丢失以及原环境中的数据是否清除干净等。

image.png

6-5  迁移性软件测试


案例6-8:云运营商的变更。

由于蒙特利尔软件公司决定以后的业务主要集中在中国市场,所以他们决定把产品从AWS转移到阿里云平台上。这个转换给测试部门带来很大的工作量。测试部门的工作主要包括:

1确保在转换过程中不影响原有客户业务的工作,也就是说,迁移对客户来说是透明的。

2)迁移以后产品的所有功能是否可以正常运行?

3)如果在迁移过程或者迁移后发现功能不能正常运行,是否可以复原?

4)迁移后,在美国云端的数据、文件等信息是否清理干净?

5)……


于是,测试经理将迁移过程中可能遇到的所有问题列出一个CheckList,在测试工程师的配合下制定了测试计划,并和研发部门一起讨论了解决方案,最后与开发工程师配合,经过半个月的时间,成功完成了整个系统的迁移。


6.2.8  功能测试


[J1] 和传统测试一样的问题外,云产品的被测系统更加复杂,很多测试工程师必须理解整个系统的运作,才能开展工作,这对软件测试工程师的要求提高了。测试环境的部署花费的时间和代价也很大。另一方面,很多场景难以模拟,如部分机器坏掉,存储上的不同步问题,因为这本身就是一个公开的问题。下面讨论基于云上的功能测试需要特别考虑的地方。


测试服务质量:正如第6.3.1节“云计算优缺点”所描述,要把软件产品运行在云上,就需要云运营商的支持,所以,选择好的云运营商就成为测试的内容。对于云运营商而言,我们是甲方,是产品的使用者,所以基于这样的测试,可以看作是对云运营商产品的验收测试,并且在某些时候可能还需要云运营商帮助我们定制一些功能。


测试云运营商提供的文档:使用云平台,肯定需要对云上的设备进行一些配置,而这些配置手册往往由云运营商提供。作为一个测试工程师,我们需要测试提供的文档是否正确,与实际操作是否一致,并且检查配置界面是否友好。


测试接口:接口测试在云产品中也非常重要。我们首先要了解应用程序采用什么样的接口,然后了解云运营商提供哪些接口,最后确定平台是否可以满足产品的接口。


案例6-9:测试产品接口。

某产品中有一个下载文件的功能,在公司内部测试是成功的,但是放在云上发现这个功能不能工作了。后来经过定位发现这个下载功能使用的是SFTP,而云系统仅提供了普通的FTP功能。最后与运营商协商,决定在云端启用SFTP,并且用户选择FTP,还是SFTP,可以由软件厂商通过控制面板来选择。


测试服务配置:测试服务配置一般由测试工程师按照云营运商提供的文档进行操作,检查系统设置是否正常,如语言、时间格式、日期格式、公司标记、操作授权等因素。


测试定制:对于某些公司的某些功能,可能需要云运营商来定制。定制的功能是测试人员需要认真测试的部分。


另外,还有Web测试、多平台测试、离线功能等,本书不再进行描述。


6.2.9  自动化测试


传统的软件测试工具和框架也不能满足在云上的要求。仔细展开有很多方面,这里只讨论自动部署问题,因为虚拟机也是动态生成的,所以要有一个合适的机制把软件测试工具部署上去,并且有集中的控制,这是很难的。


案例6-10:基于云的自动化软件测试。

某公司的产品原先的自动化测试框架是这样的:产品运行在服务器上,自动化测试脚本运行在另外一台机器上,每个服务器都有自己的IP地址,通过TCP/IP进行通信。当这个产品运行在云上后,由于产品是运行在虚拟机中的,而虚拟机的IP地址都是临时动态生成的,所以原有的测试框架肯定不适合现在的云环境。公司人员正在考虑新的自动化测试解决方案。


参考文献


1】《软件测试的艺术》(原书第三版),Glenford J. Myers Tom Badgett CoreySandler著,张晓明黄琳译,机械工业出版社,20124月。

2】《云服务软件测试:如何高效地进行云计算软件测试》,Kees Blokland Jeroen Mengerk  Nartin Pol著,段念等译,人民邮电出版社,20147

3】《软件性能测试过程详解与案例解析》(第二版)段念著,清华分大学出版社,20126月。

4】《软件测试设计》,马俊飞郑文强编著,电子工业出版社,20114月。

5】《嵌入式软件测试》,康一梅张永革胡江吴伟著,机械工业出版社,20087月。

6】《探索吧!深入理解探索式软件测试》,Elisabeth Hendrickson徐毅译李晓辉审校,机械工业出版社,20141月。

7】《软件测试之魂核心软件测试设计精解》(第二版)晓利琼著,电子工业出版社,20135月。

8】《探索式软件测试》,James A Whittaker等著,钟颂东等译,清华大学出版社,20104月。

9】《探索式软件测试实践之路》,史亮高翔著,电子工业出版社,20128月。

10】《软件测试案例与实践教程》古乐史九林等著,清华大学出版社,20072月。

11】《实用软件测试指南》James A Whittake著,马良荔俞立军著贲可荣审校,电子工业出版社,20031月。

12】《软件测试》Ron Patton周予滨姚静等译,机械工业出版社,20027月。

13】《高级软件测试卷1高级软件测试分析师》Rex Black刘琴周震漪郑文强马俊飞译,清华大学出版社,20118月。

14】《软件测试设计》马俊飞郑文强编著,电子工业出版社,20114月。

15】《软件测试基本教程》(第二版)Andreas Spillner Tilo Linz HansScheafer刘琴周震漪马俊飞郑文强译,人民邮电出版社,20094月。

16】《众妙之门Web用户体验设计与可用性测试》【德】Semashing Magazine李函霖译,人民邮电出版社,201411月。

17】《软件测试技术经典教程》赵斌编著,科学出版社,20075月。

18】百度百科:http://baike.baidu.com

19】百度文库:http://wenku.baidu.com

20】如何配置ANThttp://jingyan.baidu.com/article/90808022c5eed8fd91c80f90.html

21Google开源项目风格指南(中文版):http://zh-google-styleguide.readthedocs.org/en/latest/

22】博客园:http://www.cnblogs.com

2351CTO开发频道:http://developer.51cto.com

2451testinghttp://www.51testing.com

25】领测国际:http://www.ltesting.net

26】啄木鸟软件测试培训网:http://www.3testing.com

27】理发师模型:http://blog.csdn.net/myfuturemydream08/article/details/6286347

28大数据:http://wenku.baidu.com/linkurl=miICmmJv6MI5coS-6OYFNjtHS_GWf_FU8mL M66hyYqPgm_8x80jl6VgAcObNVcf6RNPJFA8OjZjLvzQt5BdcqBzoczUZUMybb5poTuB1FrG



顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
16小时前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
14 2
|
16小时前
|
机器学习/深度学习 人工智能 运维
深入探索软件测试:策略、工具与未来趋势
【5月更文挑战第14天】在软件开发的生命周期中,测试环节扮演着至关重要的角色。它不仅保证产品能够达到预定的质量标准,还有助于提前发现并修复潜在的缺陷,从而减少维护成本和提高用户满意度。本文将深入探讨当前软件测试领域的最佳实践,包括测试策略的制定、工具的选择以及面对快速变化的技术环境如何保持测试活动的前瞻性和灵活性。通过分析自动化测试、性能测试和安全测试等关键领域,本文旨在为读者提供一个全面的软件测试指南,同时对未来的发展趋势进行预测。
|
16小时前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
13 0
|
16小时前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
9 0
|
16小时前
|
监控 数据可视化 IDE
python自动化测试实战 —— 单元测试框架
python自动化测试实战 —— 单元测试框架
9 2
|
16小时前
|
Web App开发 JavaScript 测试技术
python自动化测试实战 —— WebDriver API的使用
python自动化测试实战 —— WebDriver API的使用
7 1
|
16小时前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
13 0
|
16小时前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
18 0
|
16小时前
|
Java 测试技术 持续交付
自动化测试框架选型与实战:深入探索与应用
【5月更文挑战第8天】本文探讨了自动化测试框架的选型与实战应用,强调了其在软件质量保障中的重要性。选型原则包括考虑项目需求、技术栈、可扩展性和可维护性,以及社区支持和文档。介绍了Selenium、Appium、JUnit和Pytest等常用框架,并概述了实战应用的步骤,包括明确需求、搭建环境、编写测试用例、执行测试、分析结果、维护代码和持续集成。合理选型与实践能提升测试效率,保障项目成功。
|
16小时前
|
算法 测试技术 开发者
测试驱动开发(TDD)实战:从理论到实践
【5月更文挑战第8天】TDD实战指南:先测试后开发,确保代码质量与可维护性。核心思想是编写测试用例→实现代码→验证→重构。优点包括提高代码质量、促进设计思考和增强可测试性。实战步骤包括编写独立、明确的测试用例,遵循最小可用原则编写代码,运行测试并分析失败原因,以及在验证通过后进行代码重构与优化。通过TDD,开发者能提升编程技能和项目成功率。

热门文章

最新文章