阅读完本书,让我对整个测试过程有所了解,虽然介绍测试的每一部分比较粗略,但知识点覆盖的很多,介绍的方面也比较全,很多是平时自己测试时碰到的但没有系统化的东西,看过后才恍然醒悟。如:肯定、否定测试,等价类划分,边界值分析,错误猜测,线索测试等等。
软件测试是保证软件质量的重要活动,是软件项目实施不可缺少的环节,软件测试直接目的是发现软件中存在的缺陷。对一个给定系统进行充分的测试以确定其没有bug是不可能实现的,是可望而不可及的一个目标,但测试有其最高境界:在于运用最简单的有效的测试技术,最大限度地发现软件中的bug!
结合本书及自己对测试流程的理解,现总结一个项目的整个测试流程概述如下:
1.根据软件详细设计文档,测试组长制定测试计划
2.审核制定的测试计划
3.根据测试计划设计,设计测试用例,编写测试用例
4.相关开发人员和测试人员审核测试用例(此阶段可减少很多测试中遇到需求不明白的去询问开发人员)
5.开发人员提供测试版本,以及相应版本所作修改的文档描述
6.测试人员根据测试用例和测试工具执行测试
7.记录测试结果,提交BUG给开发人员
8.开发人员修改后,提供新的测试版本,测试人员重新测试
9.测试人员验证后的bug,有测试组长审核后,将BUG关闭
10.提交测试报告
原则上,测试人员对需求了解的越深入,对测试工作越有利,所以最好一开始就应该参加需求分析工作。在编写功能测试用例时也应有验证手段,“预期输出”不仅仅描述为程序的可见行为。其实,“预期结果”的含义并不只是程序的可见行为。例如:模拟boss操作,输入用户手机号,点击go,系统提示“操作成功”,boss开户是否成功还需要查看相应的数据记录是否更新,因此,在这样的一个用例中,还应该包含对测试结果的显示验证手段:在数据库中执行查询语句进行查询,看查询结果是否与预期的结果一致。
测试的四个测试阶段:单元测试,集成测试,系统测试,验收测试。集成测试及其后的测试阶段,一般采用黑盒方法。
其策略包括:1.等价类划分法及边界值分析法提出基本的测试用例;2.用猜测法补充新的测试用例;3.如果在程序的功能说明中含有输入条件的组合,宜在一开始就用因果图法。结合自己的理解下面说一下黑盒测试的测试用例设计方法:等价类划分、边界值分析、错误猜测。
1.等价类划分法:等价类划分方法是把所有可能的输入数据,即程序的输入域划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的、常用的黑盒测试用例设计方法。等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定,测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。无效等价类:与有效等价类的定义恰巧相反。 设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。
2.边界值分析法:从测试工作经验,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
3.错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
以上的测试技术,在编写测试用例,或者是在一些意外的情况下,如需求的变更、设计的修改、需求的错误和遗漏等要及时变更完善测试用例,都可以涉及到。通过最近的界面功能测试,总结出以下几点常用模块的测试点:
一、文本框的测试:
1. 输入正常的汉字、字母、数字
2. 输入超长信息(汉字、字母、数字、特殊字符)
3. 输入默认值,空格、空白
4. 若只允许输入字母,尝试输入汉字、数字,反之亦然
5. 利用复制、粘贴等操作强制输入程序不允许的输入数据
6. 输入已存在的文件名称,不存在的文件名称,错误的文件名称,文件大小为零
7. 输入特殊字符集如:NUL、\n、_、%(后两个查询时特别注意)
8. 输入不符合格式的数据,如:年月日的格式
9. 页面返回是否正常,显示页面信息是否正确,(各字段及值与数据库中的值比较)
10. 验证密码是否区分大小写,是否隐藏显示
11. 在一些界面中多次出现的字段名称,查看字段名是否一致
12. 在一些需要命名且名字要求唯一时,输入重复的名字,看系统是否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理
13. 检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型。
14. 检查修改重名:修改时把不能重名的项改为已存在的内容,看是否报错
15. 重复提交表单:一条已经成功提交的纪录,back后再提交,看系统是否做了处理
16. 必填项在后面用*表示:查看同一个页面中的必填项是否都加了*,其中某些为空是否报错
二、下拉列表框测试:
1. 条目内容是否正确,其详细条目可以根据需求说明确定
2. 每个条目功能的记录和等于查询全部时的记录数(在需求允许的情况下)
3. 每个条目字段不得重复
4. 一组条目不能同时选中,只能选择一个,且不能为空
5. 逐一执行每个条目的功能,分别选择后查询出的数据与数据库中的字段值是否一致
6. 下拉列表框不选值的时候是否提供默认值
三、添加测试:
1.要添加的数据项均合理,检查数据库中是否添加了相应的数据
2.留出一个必填数据为空
3.按照边界值等价类设计测试用例的原则设计其他输入项的测试用例
4.不符合要求的地方要有错误提示
5.按enter是否能保存
6.若提示不能保存,查看数据库里是否多了一条数据
7.提交后再点击取消,也要查看数据库里是否多了一条数据
四、删除测试:
1.选择记录后点击删除按钮要有提示:“确定要删除吗?”
2.删除一个数据库中存在的数据,然后查看数据库中是否删除
3.点击删除后再点击取消,然后查看数据库中的数据是否删除
4.需要考虑删除的关联性,即删除某一个内容的同时删除其关联的某些内容
五、查询测试:
精确查询:
1.输入的查询条件为数据库中存在的数据,看是否能正确地查出相应的数据
2.输入正确的查询条件之前加上空格,看是否能正确地查出相应的数据
3.输入格式或范围不符合要求的数据,看是否有错误提示
4.输入数据库中不存在的数据,看系统是否做了处理
5.不输入任何数据,(查询出全部数据还是零条记录)
6.在一些多个字段进行查询,进行综合查询是否能查询出相应的信息
模糊查询:
在精确查询的基础上加上一点
1.输入字段值的部分字符,看是否能查询出包含该字符的所有相关信息
2.输入特殊字符,如:%、_ ,看系统是否能查询出相应的信息
3.在一些多个字段进行查询,进行综合查询是否能查询出相应的信息
阅读完本书的最大感受是越来越感觉自己对软件测试理解得越肤浅,而需要掌握的测试知识还很多很多。