软件测试-如何快速发现Bug

  1. 尽快熟悉公司的产品业务,
    根据产品的业务属性来熟悉产品的业务流程,这样才能迅速找出软件中存在的一些重要的缺陷,这样发现的软件的价值才是有价值的,否则即使你能找到一些软件缺陷,那也是纯软件的缺陷,价值不大。
  2. 把自己当成是用户
    把自己当成用户去使用该软件,比如在试用软件的过程中,思考用户是这样操作的么;
    2.1 比如大量要求用户输入的软件界面中,有一些用户喜欢使用Tab键采用全键盘的输入,此时正确的接口应该是从左到右,从上到下的顺序。
    2.2 比如有的用户喜欢使用快捷键进行操作(Ctrl+C),但是实际情况下一些开发出来的软件的快捷键根本不起作用。
    2.3 比如软件在需要用户输入信息的时候(特别是在填写个人资料的时候),必填选项后面一律要用*等醒目的表示要让知道这个地方必须要填写。
    2.4 下拉框不选的时候,应该有个默认值,并且要多检查程序中的多处下拉框,因为很多情况下下拉框取不到值。
  3. 善于怀疑
    世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生;别人认为是对的,我却认为是错的。假如一个水平很高的程序员编写的程序,不要有“他写的这个程序应该没有问题吧”这种想法,这样很容以遗漏软件中的Bug。
  4. 不用让程序开发员“用户不会这样操作”的观点说服自己
    遇到这样的情况,你要坚持自己的正确的观点,把这种现象作为一个Bug。
  5. 在测试的过程中要跟踪一条数据的完整流程。
    比如“点击商品—收藏商品—加入购物车—订单结算—付款—消费二维码—消费—二维码失效”,如果在测试软件过程中业务流程逻辑都走不通的话,还么这个软件测试与不测试就没有什么区别的。
  6. 回归测试要注意的事项
    程序员提交新的版本后,作为测试人员应该立即与程序员沟通这个修改的功能,并了解这个新修改的功能影响那些功能。而被影响的功能,是在回归测试中优先重点测试的地方,而且也是最容易产生Bug的地方。
  7. 与使用者互动的缺陷
    7.1 如填写资料错误的时候,应该能够提示错误的位置,让用户知道这个地方输入的数据不对;
    7.2 删除数据前一定要给定出是否删除的确认提示;
    7.3 不要在软件中使用中英文混合的提示:比如对于用户在进行某个操作的错误提示,不要一会用“Error”,一会又用“错误”,一定要统一;
    7.4 要对程序员的错别字进行检查,比如吧“登录”写成“登陆”;
    7.5 在软件中不要对用户使用很专业的术语;
    7.6 新增/修改信息白村提交后系统给出“保存/提交/修改成功”的提示信息,并自动更新显示;
    7.7 在用户进行大量的输入后,点击保存按钮,仅仅是因为某个地方输入选择不正确,点击确定后所有的输入信息都被清空了,这样的Bug会大大降低软件的易用性;
    7.8 对于软件的查询功能,测试的时候设置开始时间>结束时间,看看能否查询出记录;
  8. 软件的边界值
    众所周知软件最容易在边界值上出现问题,所以作为测试人员一定要在边界值上多测试,比如测试用户输入框中的数值的最大数和最小数,以及为空的情况;
  9. 非法容错性
    比如在需要输入数字的地方输入字母,在需要输入字母的地方输入数字,在需要用户输入的文本框中拷贝字数很多的整编文章到这里测试看看软件是如何做处理的;
  10. 软件接口测试
    如果软件不同部部分是由不同程序员共同完成的,那么要在他们程序接口相关联的地方多检查,避免双方程序员互相认为做了接口处理,最后谁也没有做接口的处理,导致软件在运行中产生缺陷;
  11. 兼容性测试
    软件测试要在不同的硬件、软件下(包括操作系统、浏览器)下的测试;
    11.1 硬件 有时候软件在配置很高的机器上,有时会隐瞒一些错误,由于CPU运行过快的时候,很多现象一闪而过,发现不了缺陷;
    11.2 软件 有时软件在不同版本的浏览器中的界面与权限是不一样的,这样的例子就是软件中的一个Bug了;
  12. 软件在压力之下容易出错
    软件在压力之下容易产生的错误,是作为一名测试人员必须要知道的事情。所以在测试过程中,将软件在压力之下长时间运行,然后看看软件是否能在压力之下正常工作;
  13. 随机测试:
    即使经过大量的充分测试,也不能发现软件中的所有缺陷,所以在测试的时候可以做一些随机测试,比如胡乱在界面上乱点,有时也会发现一些意想不到的软件缺陷;
  14. 学习他人经验:
    14.1 从事软件测试需要的知识:首先要具备软件工程的基本知识,理解软件生命周期过程中各阶段需要做的工作,及需要达到的目标。然后,需要具备一定的编程经验或者是参与开发的项目经验。其次,需要掌握软件测试方面的知识,包括测试的定义、对象、目的、测试方法、测试过程等;
    14.2 测试需要解决的问题是什么:一般来说,大家一般都会认为程序员按照软件的需求说明书编写好了,,可以实现需求中定义功能的程序,那么这个软件就可以投入使用了,但是,在用户的应用过程中,会发现一系列的错误,给用户带来很多麻烦,为了给用户最大程度的减少软件给用户带来的麻烦,这是软件测试就发挥了很大作用,因此,软件测试要解决的问题就是寻找软件中未发现的隐藏的缺陷;
    14.3 何时开始测试:测试是一个独立的过程,它贯穿于软件生命周期的整个过程,于软件生命周期中的个流程并发进行,因此可以说软件的整个生命周期中,越早开始测试越好。
    14.4 如何开展测试:软件的测试基本可以分为测试需求分析、测试计划制定、测试用例设计、测试执行、测试结果报告这五个步骤,根据测试类型的不同,选择个步骤的开始的时间。
    Ø 测试需求分析:了解测试的规模、测试的内容、复杂程度以及存在的风险,通过测试需求分析,可以得出测试要点,而且测试要点可以包括系统功能方面的测试要点,也可以包括非功能方面的;
    Ø 测试计划制定:测试计划的制定可以分为如下几步。
    ①  首先,按照测试类型依据的标准确定需要测试的特性,如登记测试需要考虑用户文档、常规要求、功能性、可靠性、易用性这个五个特征;
    ②  其次,确定需要测试的子特性,如功能性要求考虑安装性、适合性、正确性、一致性这四项;
    ③  然后,选择相应的测试策略,即对需要测试的几大特性该如何测试,如需要检查用户文档是否完整,需要验证功能是否正确等;
    ④  再次,需要配置测试的环境,确定测试需要的硬件和软件设备是否准备齐全;
    ⑤  最后,需要确定测试的人员及日程安排,为及时高质量的完成测试工作做准备,这一过程需要形成测试计划文档;
    Ø 测试用例的设计:测试用例是测试工作的核心,如何设计出用最小的测试用例集找出软件中尽可能多的缺陷的测试用例,是一个很值得积累的经验;
    ①  在任何情况下,都应该使用边界值分析法,经验表明,这种方法发现错误的能力最强;
    ② 必要时使用等价类划分法补充测试用例;
    ③ 必要时采用错误推测法补充测试用例;
    ④ 如有输入条件的组合,就从输入条件极其组合开始测试;
    Ø 测试执行:手工执行功能化测试用例,并检查UI设计的Bug,在功能手工测试之后进行功能、性能、接口等自动化测试。
    Ø 测试结果报告:根据不同的测试类型出具不同的测试报告,主要分析在测试中出现的问题,并对软件提出评估报告和结果建议;
  • 18
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值