-
让测试敏捷起来【段念】
Dracular 发布于 2010-04-29 13:54:53
让测试敏捷起来——段念
视频PPT在下面直接播放,请耐心等待,加载需要点时间MP3音频下载,分卷压缩,请完整下完五个part后,再解压缩。Slide 1让测试敏捷起来 2009.11Slide 2什么是软件测试?Slide 3传统测试视角 Glen Myers: 测试是为了发现错误而执行程序的过程一个好的测试是指很可能找到尚未发现的错误的测试一个成功的测试是指发现了至今未发现的错误的测试 Hetzel: 软件测试是对软件建立信心的过程测试是评估软件或系统的品质或能力的一种积极的行为测试是对软件质量的度量Slide 4Rick 和 Stefan(2002): 测试是为了度量和提高被测软件质量的过程测试是对测试件进行工程设计、实施和维护的整个生命周期过程Slide 5软件测试发展趋势 测试的目标发现缺陷-》度量质量-》度量和提高质量对测试的定义发现缺陷的测试是好测试-》积极的质量度量行为-》对测试件进行…的整个生命周期Slide 6软件测试中的些许抱怨Slide 7软件测试中的些许抱怨Slide 8软件测试中的些许抱怨Slide 9需求频繁变化 文档更新不及时 没有足够的测试时间 ……Slide 10敏捷宣言 个体与交互 重于 过程和工具可用的软件 重于 完备的文档客户协作 重于 合同谈判响应变化 重于 遵循计划 http://agilemanifesto.org/Slide 11敏捷的核心价值观 简单(Simplicity)沟通(Communication)反馈(Feedback)勇气(Courage)Slide 12Agile为开发带来了曙光Slide 13敏捷带来的开发的改变 更少的文档更快的迭代周期更频繁的改变(需求或是设计)Slide 14敏捷为测试带来了什么 更少的文档 更快的迭代周期更频繁的改变(需求或是设计) 难以依赖文档设计测试 要求测试在更短时间内完成 要求测试更具有探索性和适应性Slide 15敏捷测试 简而言之,敏捷测试是指在采用敏捷技术的项目中开展的测试同时,敏捷测试也意味着测试遵循敏捷的基本原则,接纳敏捷的核心价值观保持简单以任务为导向,而不以过程或是角色为导向通过沟通和反馈保证测试能够建立合适的质量标准尽可能减少测试周期的时间需求Slide 16敏捷测试中的测试任务 为系统建立不同层次的质量验收准则代码层面的单元测试模块/接口层面的集成测试功能、性能等层面的系统测试面向用户的用户验收测试让开发人员随时可以得到关于代码质量的反馈建立持续构建框架Slide 17通过测试驱动开发等方式不断提高代码质量建立合适的自动化测试框架以减少测试的时间投入建立可见的质量度量体系,让产品和代码质量反馈持续可见Slide 18测试工程师在敏捷测试中可以做什么 获取和明确用户的质量期望建立合适的系统测试、用户验收测试质量标准推进单元测试、开发测试建立持续构建框架持续改进自动化测试保持质量度量结果的可见性Slide 19敏捷测试的关键因素 共享质量目标开发和测试团队共享同样的质量目标,当然也共享同样的质量责任,每个工程师在测试方面都同样承担任务以任务而非角色为重点来安排工作敏捷测试需要一个紧密联系的开发和测试团队,因此,不要将任务限定在具体的角色上Slide 20保证产品质量度量持续可见 “简单”意味着整个团队的目标是开发客户可用的软件,如果能让整个团队看到“ 我们的产品距离可用标准还有多少”,对敏捷过程来说是非常有利的关注产品质量的提升,测试周期的缩短,而不是仅专注于发现缺陷Slide 21在产品中内建可测试性为产品建立更好的自动化测试不仅仅依赖于测试工程师的工作,更重要的是,产品本身内建的可测试性持续改进自动化测试随着开发的进行,产品质量的提升,以及对产品了解程度的加深,自动化测试应该能够提供更大的覆盖,更好和更快速的验证Slide 22敏捷测试过程管理 测试计划敏捷测试并不需要为每次迭代准备特别详细的测试计划文档,但最好能够在测试计划中描述以下内容在本次迭代中哪些内容是需要被测试的本次迭代中会安排哪些类型的测试测试通过的质量标准是什么 One-page test planSlide 23测试设计对于每个迭代中新增或是发生变化的功能,敏捷测试采用探索性测试的方法来设计测试对于稳定的部分,敏捷测试采用自动化测试的方式建立可接受的质量度量框架Slide 24测试执行手工测试:新功能和修改功能的了解、验证 Adhoc测试:基于对应用的理解,尝试发现应用中可能的问题自动化测试不同层次/级别的自动化验证安全性测试、Fuzz测试等分析、调试、优化现有的自动化测试Slide 25产品发布为达到质量标准的产品进行sign off 发布产品在产品环境中进行sanity check 设计和实现产品运行监控为可能的回滚做好准备Slide 26反馈与提高缺陷分析(Bug Taxonomy)根据应用的结构等已有知识,建立更多纬度的自动化测试不断提高产品的可测试性在整个团队(开发和测试)中分享测试知识Slide 27在非敏捷项目中使用敏捷测试技术Slide 28敏捷测试带来的价值 敏捷测试意识所有工程师对质量具有同等的责任重要的是目标和任务,而不是过程重要的不是按照角色来定义工作范围,而是团结大家完成任务测试是一个集成在开发过程中的持续行为,而不是单独的活动Slide 29测试工程师的任务清单 与客户沟通,达成一致的质量标准澄清用户故事(User Story)估算开发和测试任务设置接受测试,按照客户要求保证产品质量帮助进行自动化测试帮助开发人员生产出具有良好可测试性的代码建立产品质量反馈Slide 30经过证实的有用的实践 设立产品质量反馈建立Dashboard展示不同层次的产品质量帮助进行自动化测试推进开发测试(Developer testing)为产品设置可以复用的自动化测试框架帮助生产具有良好可测试性的代码推进单元测试帮助进行重构Slide 31Q&A -
Web 测试总结(2)
navy2008 发布于 2010-07-29 16:22:31
3、添加、修改功能
(1)是否支持tab键
(2)是否支持enter键
(3)不符合要求的地方是否有错误提示
(4)保存后,是否也插入到数据库中?
(5)字段唯一的,是否可以重复添加
(6)对编辑页列表中的每个编辑项进行修改,点击保存,是否保存成功?
(7)对于必填项,修改为空、空格或其他特殊符号,是否可以编辑成功
(8)在输入框中,直接回车
(9)是否能够连续添加
(10)在编辑的时候,要注意编辑项的长度限制,有时,添加时有长度限制,但编辑时却没有(添加和修改规则是否一致)
(11)添加时,字段是唯一的,不允许重复,但有时,编辑时,却可以修改为相同字段(相同字段包括是否区分大小写以及在输入内容的前后输入空格)
(12)添加含有特殊符号或空格的内容
(13)对于有图片上传功能的编辑框,对于没有上传的图片,查看编辑页面时,是否显示默认图片,如果上传了图片,是否显示为上传图片?
4、删除功能
(1)输入正确数据前加空格,看是否能正确删除?
(2)是否支持enter键
(3)是否能连续删除多个产品?当只有一条数据时,能否成功删除?
(4)删除一条数据后,能否再添加相同的数据?
(5)当提供能一次删除多条信息的功能时,注意,删除的数据是否正确?
(6)不选择任何信息,直接点击删除按钮,看有什么错误提示?
(7)删除某条信息时,应该有错误提示信息
5、注册、登录模块
(1)注册成功,但登录失败:注册时,密码设置为一些特殊符号,但登录时,失败
(2)注册时,连续点击提交按钮
(3)注册成功后,页面应该以登录状态跳转到首页
(3)登录时,没区分大小写,注册时,是小写字母,但登录时,用大写字母也能登录进去
(4)登录时,当页面刷新或重新输入新数据时,验证码是否也随之更新
(5)对密码的修改,当把密码修改为很长,或含有特殊符号时,能够修改成功,但却不能成功登录。
6、上传图片测试
(1)文件类型正确,文件大小合适
(2)文件类型正确,文件大小不合适
(3)文件类型错误,文件大小合适
(4)文件类型和大小都合适,上传一个正在使用中的图片
(5)文件类型和大小合适,手动输入一个存在的图片地址来上传
(6)文件类型和大小合适,手动输入一个不存在的图片地址上传
(7)文件类型和大小都合适,手动输入图片名称来上传
7、返回键检查
(1)一条已经成功提交的记录,返回后再提交,看系统是否做了处理
(2)检查多次使用返回键的情况,在有返回键的地方,返回到原来页面重复多次,看是否会出错
8、回车键检查
在输入结束后,直接按回车键,看系统处理如何,是否会报错
9、刷新键检查
在web系统中,使用浏览器的刷新键,看系统处理如何,是否会报错
10、直接URL链接检查
在web系统中,直接输入各功能页面的URL地址,看系统如何处理
11、其他
(1)在测试时,有与网络有关的步骤必须考虑到断网的情况
(2)每个页面都有相应的页面title
(3)在测试的时候要尽量考虑在页面出现滚动条时(滚动条上下滚动下),页面显示是否正常
(4)URL不区分大小写
12、测试中,并发情况的考虑
总结了以下两种情况:
(1)某个字段是唯一的,当多个用户并发点击产生该字段时,检查系统是怎么处理的
(2)对于电子商务网站,当两个或多个用户并发购买量总和大于产品库存量时,能否购买成功
二、界面和易用性测试
1、界面测试,主要测试网站的界面是否和设计一致,是否有错别字,页面布局是否合理,格式是否正确,是否有相应的错误提示信息等。
2、易用性测试,主要是考察所开发出的功能是否人性化,是否易用,是否符合大多数用户的使用习惯等。
3、对Tab和Enter键的测试。
三、兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,比如涉及到ajax 、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
四、链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
五、业务流程测试
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
六、安全性测试
(1)SQL注入
(2)XSS 跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户
所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
document.write("abc")
<script>alter("abc")</script>
(3)URL地址后面随便输入一些符号
(4) 验证码更新问题
以上就是对Web测试的一个总结,相信一定还存在某些的遗漏,欢迎大家指正、补充。