软件测试相关基础知识

目录

一、软件缺陷的定义

二、软件缺陷出现的原因

1.导致软件缺陷的最大的原因是产品说明书;

2.软件缺陷的第二大来源是设计方案;

3.某些软件缺陷产生的条件被错误的认定;

三、怎样成为优秀的软件测试工程师

1.测试工程师应具备的素质

2.测试工程师的职责

四、软件测试的概念

五、软件测试的目的

六、软件测试的对象

七、软件测试的原则

1.所有的测试都应该追溯到用户需求

2.应当尽早地和不断地进行软件测试

3.不可能进行完全测试

4.充分注意测试中的群集现象(二八定理)

5.避免杀虫剂怪现象

6.尽量避免测试的随意性

八、软件测试的误区

九、软件测试的术语

1.精确和准确

2.确认和验证

3.测试和质量保证(QA)

十、软件测试的分类


一、软件缺陷的定义

至少满足下列4个规则之一才称发生了一个软件缺陷

  • 软件未实现产品说明书要求的功能;
  • 软件出现了产品说明书未提到的功能;
  • 软件未实现产品说明书虽未提及但应该实现的目标;
  • 软件难以理解、不宜使用、运行缓慢;或者从测试人员角度看,最终用户会认为不好;

二、软件缺陷出现的原因

1.导致软件缺陷的最大的原因是产品说明书;

  • 产品说明说明书:片面、易变、沟通不足。

2.软件缺陷的第二大来源是设计方案;

  • 设计方案:片面、易变、沟通不足。

3.某些软件缺陷产生的条件被错误的认定;

  • 由于这个原因,就可能反复出现许多软件缺陷。因此,不少软件缺陷可以归咎与测试错误。此类缺陷只占极小的比例。

三、怎样成为优秀的软件测试工程师

1.测试工程师应具备的素质

  • 探索精神(喜欢拿到新软件、新需求)
  • 故障排除能手(善于发现问题,并能找出其症结)
  • 不懈努力(不停地学习,不停地尝试,不停地积累)
  • 创造性(想出富有创意甚至超常的手段来寻找缺陷)
  • 追求完美(力求完美,但不苛求,尽力接近目标)
  • 判断准确(决定测试内容、测试时间、是否真正的缺陷)
  • 老练稳重(知道如何将坏消息告诉程序员,知道如何与不够冷静的程序员合作)
  • 说服力(善于表达观点,通过实际演示表名缺陷为何必须修复)

2.测试工程师的职责

  • 了解项目需求内容,从用户的角度提出自己的测试看法;
  • 要编写合理的测试计划,并与项目整体计划有机的整合在一起;
  • 要编写覆盖率高的优秀的测试用例;
  • 要认真的实施测试工作,并提交测试报告以供项目参考;
  • 要进行缺陷的跟踪和分析。

四、软件测试的概念

  • 软件测试贯穿整个软件开发生命周期;
  • 测试是指使用人工或自动手段来运行或测试某个软件;
  • 对软件产品(包括阶段性产品)进行验证和确认的活动过程。

五、软件测试的目的

  • 通过检验软件是否满足规定的需求,尽早地弄清预期结果与实际结果之间的差别;
  • 尽早提出相关缺陷,并确保其得以及时修复。

六、软件测试的对象

  • 源程序/目标代码;
  • 各开发阶段的文档(需求规格说明书、概要设计说明、详细设计说明及其他相关文档。)

七、软件测试的原则

测试是为了寻找软件的错误与缺陷,评估与提高软件质量,提出了以下一些测试原则:

1.所有的测试都应该追溯到用户需求

2.应当尽早地和不断地进行软件测试

  • 由于软件的复杂性和抽象性,在软件生命周期各个阶段都可能产生错误;
  • 所以不应该把软件测试仅仅看做是软件开发的一个独立阶段的工作,而应当是贯穿到软件开发的各个阶段中。
  • 在软件开发的需求和设计阶段,就应该开始测试工作,编写相应的测试文档。

3.不可能进行完全测试

  • 想要进行完全的测试,在有限的时间和资源条件下,找出所有的软件缺陷和错误,使软件趋于完美,是不可能的;
  • 主要有四个原因:输入量太大;输出结果太多;路径组合太多;软件测试是主观的,有时候只是旁观者看是缺陷。

4.充分注意测试中的群集现象(二八定理)

  • 在所有测试程序段中,若发现的错误数目多,则残存的错误数目也多。
  • 缺陷的二八定理指的是,一般情况下,80%软件缺陷出现在20%的功能区域。在测试过程中,投入主要的人力和精力重点测试这20%的功能区域。

5.避免杀虫剂怪现象

  • 杀虫剂现象:用于描述软件测试越多,测试人员对所测系统的免疫力越强的现象。
  • 为了克服该现象,测试人员必须不断编写不同的,新的测试程序,对程序的不同部分进行测试,以找出更多软件缺陷。

6.尽量避免测试的随意性

  • 应从工程的角度理解测试,它是有组织、有计划、有步骤的活动。

八、软件测试的误区

  • 如果发布出去的软件有质量问题,都是软件测试人员的错。
  • 软件测试技术要求不高,至少比变成容易多了。
  • 有时间就多测试一些,来不及就少测试一些。
  • 软件测试是测试人员的事情,与开发人员无关。

九、软件测试的术语

1.精确和准确

  • 假如对计算器进行测试,你会选择返回结果是准确还是精确的呢?或者两者都测试?如果项目进度迫使只能进行二选一的选择呢?
  • 测试的软件假如是棒球或是模拟飞行之类的模拟游戏程序又怎样?那么主要测试精度还是准确度?

2.确认和验证

  • 确认是保证软件符合产品说明书的过程。
  • 验证是保证软件满足用户要求的过程。

3.测试和质量保证(QA)

  • 软件测试人员的目标是 尽可能早地找出软件缺陷,并确保缺陷得以修复。
  • 软件质量保证人员的职责是创建和执行 改进软件开发过程、防止软件缺陷发生的 标准和方法。

十、软件测试的分类

可查看另一篇博客:https://blog.csdn.net/qq_46071165/article/details/119910953

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值