01软件测试理论知识

01软件测试理论知识

1.软件测试工程师(QA)***

软件测试工程师是决定产品命运的最后一环,产品质量的优劣,将直接影响用户的体验,世界上任何一款产品都 会存在漏洞,而QA的责任,就是发现每一个隐 藏的漏洞,保证产品的质量,将最完美的产品,
呈现在用户面前!

2.软件测试对象***

文档数据程序的集合。

程序:指实现某种功能的代码的集合,如目前广泛 被应用于各行各业的java程序、python程序、C# 程序等。

文档:是指在软件从无到有这个完整的生命周期中 产生的各类图文的集合。具体可以包括《用户需 求规格说明书》、《需求分析》、《系统概要设 计》、《系统详细设计》、《数据库设计》、《 用户操作手册》等相关文字及图片内容。

数据:执行程序所必须的数据。

3.软件质量**

​ 是指软件满足用户需求的程度。

​ a). 明确定义的功能和性能需求

​ b). 明确规定的开发标准和准则

​ c). 隐含要求的其他特性

​ 软件测试是为了提高软件质量而服务的,是 保证软件质量的手段。

4.软件缺陷的概念

​ 软件缺陷是指计算机的硬件、软件系统(如操 作系统)或应用软件(如办公软件、进销存系 统、财务系统等)出现的错误,大家经常会把 这些错误叫做“BUG”。

5.软件缺陷产生的原因

1. 硬件的出错有两个原因,一种原因是设计错误 ,另一种原因是硬件部件老化失效等
2. 软件的错误基本上是由于软件开发企业设计错误而引起的。设计完善的软件不会因用户可能 的误操作产生BUG,如本来是做加法运算,但错按了乘法键,这样用户会得到一个不正确的 结果,这个误操作产生错误的结果,但不是 BUG。

6.软件缺陷的表现***

产品说明书:又简称说明或产品说明,是软件开发小组的 一个协定,它对开发的产品进行定义,给出产品的细节、 如何做、做什么、不能做什么。

​ 至少满足一列5个规则之一才能称之为软件缺陷:

1. 软件未实现产品说明书要求的功能
2. 软件出现了产品说明书指明不应该出现的错误
3. 软件实现了产品说明书未提到的功能
4. 软件未实现产品说明书未明确提及但应该实现的目标
5. 软件测试人员认为软件难以理解、不易使用、运行速度缓 慢,或者最终用户认为不好

7.软件测试定义***

通俗定义

​ 测试软件能不能达到用户的标准,是否能正常使用的一个过程

标准定义
1. 1979年, 《软件测试艺术》:为了发现错误而执行程序 或者系统的过程
2. 1983年, Bill Hetzel在《软件测试完全指南》一书中指出 :“测试是以评价一个程序或者系统属性为目标的任何一 种活动,测试是对软件质量的度量”
3. 1983年,IEEE:使用人工或自动的手段,运行或测试某 个系统的过程,其目的在于检验它是否满足规定的需求, 或是弄清楚预期结果和实际结果之间的差别***

8.软件测试的目的***

​ 1) . 预防错误: 几乎不可实现

​ 2) . 发现错误: 软件测试目的

  • 软件测试目的
    1. 测试是程序的执行过程,目的在于发现错误 ;
    2. 一个好的测试用例在于能发现至今未发现的 错误
    3. 一个成功的测试是发现了至今未发现的错误 的测试

总而言之,测试的目的是:***

1. 以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷,并确保能尽早地修复缺陷 。 
2. 测试的附带收获是,它能够证明软件的功能和 性能与需求说明相符合。 
3. 实施测试收集到的测试结果数据为可靠性分析提供了依据。
4. 测试不能表明软件中不存在错误,它只能说明软件中存在错误

9.软件测试的原则***

1. 所有的测试活动都应以用户需求(软件需求规格说明书) 为标准
2. 应尽早地和不断进行软件测试
3. 完全测试(穷尽测试)是不可能的
4. 应充分注意测试中的集群现象
5. 程序员应避免检查自己的程序
6. 尽量避免测试的随意性

10.软件测试衡量标准***

  • 多:
    • 能够找到尽可能多的BUG
  • 快:
    • 能够尽可能早地发现最严重的BUG
  • 好:
    • 找到的BUG是关键的、用户最关心的
    • 找到BUG后能够重现找到的BUG,并为修正BUG提供尽可能多 的信息
  • 省:
    • 能够用最少的时间、人力和资源发现BUG
    • 测试的过程和数据可以重用

11.软件测试的环境要求

  • 尽量模拟用户的真实场景
    • 包括网络应用、软件、硬件环境
  • 干净的环境
  • 没有病毒的环境
  • 独立的测试环境
    • 测试环境和开发环境应搭建不同的环境

12.软件项目成员

  1. 项目经理、程序经理
  2. 体系架构师或系统工程师
  3. 程序员、开发人员
  4. 测试员或质量保证员
  5. 技术作者、用户协助员、用户培训专员、手册 编写或文案专员
  6. 配置管理员和构建员

13.软件生命周期的概念

  1. 软件生命周期是从软件需求的定义,产生直到 被废弃的生命周期,生命周期内包括软件需求的定义可行性分析软件概要设计软件详细设计编码实现调试和测试软件验收应用维护升级到废弃的各个阶段。
  2. 传统的软件测试是在编码完成之后才开始的, 而原则上软件测试应当贯穿整个软件的生命周期。

14.测试人员应具备的数据

  • 从人的基本素质而言,需要具备以下素质:
    1. 探索精神:不害怕陌生环境,喜欢装新软件, 总是不停尝试,寻找转瞬即使的缺陷
    2. 善于发现问题:喜欢解迷
    3. 具有创造性:常需要使用超常手段来寻找缺陷
    4. 追求完美:完美主义者
    5. 沟通能力:一名理想的测试者必须能够同测试 涉及到的所有人进行沟通
    6. 自信心:开发者指责测试者出了错是常有的事 ,测试者必须对自己的观点有足够的自信心。 如果容许别人对自己指东指西,就不能完成什么更多的事情了
    7. 幽默感:在遇到狡辩的情况下,一个幽默的批 评将是很有帮助的
    8. 强的记忆力:一个理想的测试者应该有能力将 以前曾经遇到过的类似的错误从记忆深处挖掘 出来,这一能力在测试过程中的价值是无法衡 量的。因为许多新出现的问题和我们已经发现 的问题相差无几
    9. 耐心:一些质量保证工作需要难以置信的耐心 。有时你需要花费惊人的时间去分离、识别和 分派一个错误。这个工作是那些坐不住的人无 法完成的
    10. 自我督促:干测试工作很容易使你变得懒散。 只有那些具有自我督促能力的人才能够使自己 每天正常地工作
    11. 学习能力:需要不断的进行学习新东西
  • 从技术角度而言,需要具备以下素质:
    1. 测试能力:即对所测试对象的业务需要比较熟 悉,因为测试人员靠什么吃饭?首先是业务的 掌握能力,一般来说,大的行业业务(移动支 撑、银行、物流等)掌握2年为一段
    2. 计算机的基本知识:需要掌握一些计算机硬件 的基本知识,如:存储原理、处理器指令类型 等
    3. 编码、操作系统、数据库等知识:具体根据所 测对象的具体而定
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值