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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 软件测试技术实战 设计、工具及管理》联载-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日志并进行多维度分析。
目录
相关文章
|
8天前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
8天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
7天前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
7天前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
11 2
|
8天前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
9天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
38 3
|
15天前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
34 4
|
14天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
31 1
|
18天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
35 2
|
18天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
19 1