Test-软件测试基础知识

软件测试基础

  • 软件测试基础知识
    • 1.为什么需要进行软件测试?
      • 1. 因为软件是人为编写的,所以会存在不完美。
          • 千年虫(K2Y)案例
          • 英特尔奔腾浮点除法缺陷
    • 什么是软件测试?
      • 软件=程序+数据库+文档+服务
    • 软件测试:
    • 软件缺陷:
    • 缺陷的主要类型:
    • 软件质量组成:
    • 软件质量具有3A特性:
    • 软件测试的目的:
    • 软件测试的关键问题
    • 软件测试的原则
    • 软件测试的工作流程
    • 软件测试的分类
      • 1、按测试范围分类 2、按测试内容
      • 3、按测试目的分类
      • 4、按测试对象分类
    • 软件测试的生命周期
      • 纵向过程:
      • 横向过程:
    • 软件测试行业的发展现状
    • 软件测试人员必备的技能:
    • 软件测试人员可以从一下方面提升自己

软件测试基础知识

1.为什么需要进行软件测试?

1. 因为软件是人为编写的,所以会存在不完美。

千年虫(K2Y)案例
			计算机系统的2000年问题,简称Y2K,或千年危机、千年虫问题,是指在计算机软、硬件系统以及使用数字化程序控制芯片的各种应用系统中,由于只采用两位十进制数字来表示年份,当日期从1999年12月31日转入2000年1月1日时,用来表示年份的后两位十进制数字“00”,与1900年的“00”一致,因而计算机操作系统误认为是1900年1月1日,给以年份日期进行计算的系统带来破坏,造成技术、政治、经济、法律上的问题。
英特尔奔腾浮点除法缺陷
			在计算机的“计算器”程序中输入以下算式:(4195835/3145727)*3145727-4195835
如果答案是0,就说明计算机没问题。如果得出别的结果,就表示计算机使用的是带有浮点除法软件缺陷的老式英特尔奔腾处理器——这个软件缺陷被烧录在一个计算机芯片中,并在制作过程中反复生产。
1994年10月30日,弗吉利亚州Lynchburg学院的Thomas R .Nicely博士在他的一个实验中,用奔腾PC机解决一个除法问题时,记录了一个想不到的结果,得出了错误的结论。
万幸的是,这种情况很少见,仅仅在进行精度要求很高的数学、科学和工程计算中才会导致错误。

Test-软件测试基础知识_第1张图片
Test-软件测试基础知识_第2张图片

什么是软件测试?

软件=程序+数据库+文档+服务

在这里插入图片描述

软件测试:

就是为了尽早的发现软件产品中存在的各种bug,而展开的软件生命周期、对产品(包括阶段性产品)进行验证和确认的活动过程。使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。

软件缺陷:

计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。缺陷会导致软件产品在某种程度上不能满足用户的需要。
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等问题;
从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。因此软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。
Test-软件测试基础知识_第3张图片

缺陷的主要类型:

1.功能、特性没有实现或者部分没有实现。
2.设计不合理,存在缺陷。
3.实际结果与预期结果不一致。
4.运行出错,包括运行中断、系统崩溃、界面混乱。
5.数据结果不正确、精度不高。
6.用户不能接受的其他问题,如存取时间过长、界面不美观。
软件的缺陷是软件开发过程中的重要属性,反映软件开发过程中需求分析、功能设计、用户界面设计、编程环节所隐含的问题,也为项目管理、过程改进提供了许多信息。

Test-软件测试基础知识_第4张图片

软件质量组成:

(1)软件产品的质量;
(2)软件开发过程中的质量;
(3)应用领域或者业务上的质量。

软件质量具有3A特性:

Accountability(可说明性),Availability(有效性)和Accessibility(易用性) 。
对于广义的软件质量,又是由产品质量,过程质量和商业环境质量这三者决定的。

软件测试的目的:

最终目的,是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正。

  • 确保软件完成了它所承诺或公布的功能
  • 为软件的质量评估提供依据
  • 确保软件满足性能的要求
  • 确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助

软件测试的关键问题

谁:开发人员、测试人员
对象:程序、设计、需求、实现、文档、环境等
时机:与开发并行、尽早开始
如何:计划、策略、方法、管理
停止:预定时间、测试用例数、覆盖率、缺陷总数、单位时间缺陷数等

软件测试的原则

所有的测试都应追溯到用户需求
保证测试的覆盖程度,但穷举测试是不可能的
越早测试越好,测试过程与开发过程应是相结合的
Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码
测试的规模由小而大,从单元测试到系统测试
为了尽可能地发现错误,应该由独立的第三方来测试
不能为了便于测试擅自修改程序
既应该测试软件该做什么也应该测试软件不该做什么

软件测试的工作流程

Test-软件测试基础知识_第5张图片

软件测试的分类

1、按测试范围分类 2、按测试内容

(1)单元测试 (1)回归测试
(2)组件测试 (2)功能测试
(3)集成测试 (3)负载测试
(4)系统测试 (4)压力测试
(5)验收测试 (5)性能测试
(6)安装测试 (6)强度测试、易用性测试

3、按测试目的分类

(1)正确性测试,也成为白盒测试和黑盒测试
(2)性能测试
(3) 可靠性测试,又分为强壮性能测试、异常处理测试、负载测试。

4、按测试对象分类

(1)单元测试
(2)组件测试
(3)模块测试
(4)程序测试
(5)系统测试
(6)文档测试

软件测试的生命周期

纵向过程:

在软件工程环境中的测试是顺序实现的单元测试、集成测试、系统测试、验收测试
Test-软件测试基础知识_第6张图片

横向过程:

Test-软件测试基础知识_第7张图片

软件测试行业的发展现状

Test-软件测试基础知识_第8张图片
软件Test-软件测试基础知识_第9张图片

软件测试人员必备的技能:

Test-软件测试基础知识_第10张图片

软件测试人员可以从一下方面提升自己

Test-软件测试基础知识_第11张图片

你可能感兴趣的:(Test-软件测试基础知识)