软件测试从零到精通笔记(01)深入了解软件测试基础

1、软件与软件分类

① 软件划分

  • 程序、 数据、文档

② 分类划分

  • 按层次划分、按组织划分、按结构划分

2、软件测试的起源

  • 起源上世纪70年代中期
    – 《软件数据选择的原来》
    – 《软件测试的艺术》 (本书建议:有一定软件测试基础的人员阅读)

  • 20世纪80年代早起,软件行业开始逐渐关注软件产品质量,并建立软件质量保证部门QA公司(Quality Assurance)质量保证 或 SQA(Scottish Qualifications Authority)策略质量保证。

3、缺陷名称的由来

缺陷软件通用名称:Bug、Defect

Bug一词的原意是“昆虫”或“虫子”;而在电脑系统或程序中隐藏着的一些未被发现的缺陷或问题,人们也叫它“bug”。
“Bug”的创始人格蕾丝·赫柏(Grace Murray Hopper),是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。

4、软件测试的目的

4.1、提高软件的质量

软件测试的首要目的就是提高软件的质量,也就是让用户对产品有更好的体验,保证软件的高质量。

4.2、保证软件的安全

软件测试的第二大目的就是保证软件的安全,有一些软件是经过数据加密的,比如各大银行系统的APP。涉及到资金的支出和存入,对软件的安全性要求是特别高的。现在很火的区块链,其实它的本质就是保障安全,通过Hash算法等一系列的安全算法来保障资金流动的安全。

4.3、降低软件开发成本

软件测试的另外一个目的就是降低软件的开发成本。比如迪士尼的一款狮子王的软件,预期本应是好评如潮,也能通过这款软件获益不匪。但因为在很多系统上都无法使用,所以造成了大量的用户投诉和下线、卸载等。对成本造成了非常大的损失。如果当时那款软件能够在不同的系统上进行测试,肯定会大大降低成本。

4.4、降低因软件缺陷带来的商业风险

除了降低开发成本,还可以降低因软件缺陷带来的商业风险。如果软件的缺陷过多,也会降低合作企业的信任度,从而造成商业上的一些损失和风险。进行测试则会降低商业风险。

4.5、为用户接受软件提供有力的依据

测试是在用户使用软件之前提早介入,进行软件质量的保障。只有经过了软件测试这一环节,才能把软件交付到用户手中。公司的人员才对软件的信心更高,不至于把软件交付出去之后,时常担心用户的投诉或产品有致命的风险。

4.6、树立用户对软件的信心

显然,用户拿到经过测试的软件和没经过测试的软件,对质量的信心是不一样的。所以测试可以树立用户对软件的信心。

5、软件测试的定义

5.1、 正向思维的定义

评估一个程序与系统的特性的能力,确定它是否达到期望的结果,软件测试就是为此为目的的任何行为。

5.2、 反向思维的定义

  • 由《软件测试的艺术》提出
  • 测试是为了发现错误而执行一个程序或系统的过程。
  • 测试是为了证明程序的错误,而不是证明程序无错误。
  • 一个好的测试用例在于它能发现以前未发现的错误。
  • 一个成功的测试是发现了以前未发现的错误的测试。

5.3、 IEEE定义的软件测试

对软件形成过程中的所有工作产品进行测试,而不是仅仅对程序的运行进行测试。

  • 在规定条件下运行系统或构件的过程:观察和记录结果,并对系统或构件的某些方面给出评价
  • 分析软件项目的而过程:检测现有状况之间的不同,并评价软件项目的特性。

5.4、广义的软件测试定义

广义的软件测试是:由确认、验证、测试3个方面组成的

  • 确认(Validation):评估将要开发的软件产品是否正确无误、可行和有价值。确认意味着确保—个待开发软件是正确无误的,是对软件开发构想的检测,确保产品实现的功能满足了用户所有的需求。

  • 验证(Verification):检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地与规格说明书保持一致性,开发过程是沿着正确的方向进行的。

  • 测试:与狭义的测试概念统一。

6、测试与调试的区别

6.1、在主体、目标、方法、思路路上的有所不同

测试调试
主体测试工程师开发工程师
目标找缺陷(BUG)将错误的缺陷修改正确
方法等价类、边界值、因果图等程序代码和逻辑方法
思路反向思维正向思维
  • 测试是从已知条件开始,使用预先定义的过程,并且有预知结果。调试是从未知的条件开始,结束的过程可能不可预计。
  • 测试可以计划可以预先制定测试例和过程,工作进度可以度量描述。调试的过程或持续时间无法使用度量描述。
  • 测试的对象包括软件开发过程的文档、代码、数据、等。调试的对象一般来说只有代码本身。

7、软件测试的对象

软件测试是不等同于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计以及程序编码等各个阶段所得到的文档,包括需求规格说明书、概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象。

  • 软件需求
  • 软件概要设计
  • 软件源代码
  • 软件详细设计
  • 可运行程序
  • 软件运行环境
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一禅(OneZen)

你的鼓励将是我创作的最大动力哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值