测试基础知识

来源:互联网 发布:重庆cnc编程最新招聘 编辑:程序博客网 时间:2024/05/19 12:38

1.1 软件工程要点
1.1.1 软件= 数据 + 数据结构 + 文档
1.1.2 软件危机的定义:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
1.1.3 软件工程包括三个要素:方法、 工具、过程。
1.1.4 软件生命周期的概念:软件生命周期包括可行性分析、需求分析、设计(概要设计和详细设计)、编码、测试(单元测试、集成测试和系统测试、验收测试)、运行维护等。
1.1.5 软件生命周期模型:瀑布模型

                          图1-1 瀑布模型示意图

瀑布模型的优点:
· 提供了软件开发的基本框架
· 为项目提供了按阶段划分的检查点
· 当前一阶段完成后,您只需要去关注后续阶段
缺点:
· 在项目各个阶段之间极少有反馈
· 线性模型,早期的错误可能要等到后期才能发现,且只有等到全过程的末期才能见到开发成果,增加开发风险
· 阶段之间产生大量的文档,增加了管理工作量
应用场景:
· 在开发时间内需求没有或很少变化
· 分析设计人员对应用领域很熟悉
· 低风险项目(对目标、环境很熟悉)
· 用户使用环境很稳定
· 用户除提出需求以外,很少参与开发

1.2 软件测试基础
1.2.1 软件测试的定义:软件测试是软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤,也可以说是通过手工或自动化手段来检测软件中存在的缺陷。
1.2.2 软件测试的目标:系统的找出软件中潜在的各种错误和缺陷,并能够证明软件的功能和性能与需求说明相符合。
1.2.3 软件测试的7个原则:
(1)测试显示缺陷的存在
(2)穷尽测试是不可能的
(3)测试尽早介入
(4)缺陷集群性
(5)杀虫剂悖论
(6)测试活动依赖于测试背景
(7)不存在缺陷就是有用系统的谬论
1.2.4 软件测试的基本流程
需求分析――>测试计划――>开发用例――>执行用例――>缺陷追踪――>测试报告评估
1.2.5软件测试的思维
先正向,再逆向。软件测试人员要具有破坏行思维。

1.3 基于生命周期的软件测试
1.3.1 生命周期测试意味着测试与软件开发平行,在软件开发的所有阶段进行测试,确保在尽可能早的阶段点去修正缺陷,用来减少测试成本。
1.3.2 生命周期测试概念:定义了软件测试的流程和方法,指导测试项目所要求的进度、成本和质量,开展测试任务必须覆盖整个软件测试生命周期的一组有序的软件测试活动。
1.3.3 生命周期各阶段的测试内容
· 需求阶段 重点是确认定义的需求符合机构要求
· 设计和编码阶段 验证设计的程序实现了需求
· 测试和安装阶段 检查时显得系统符合系统规格说明
· 维护阶段 重新测试以决定改变的部分和为改变的部分能继续工作
1.3.4 全生命周期软件测试的最终要求
· 保证软件系统在全生命周期中每个阶段的正确性,验证整个软件开发周期中各阶段的软件质量是否合格
· 保证最终系统符合用户的要求和需求,验证最终交付给用户的系统是否满足用户需要、符合其需求
· 用样本测试数据检查系统的行为特征
· 把尽可能多的问题在产品交给用户之前发现并改正

1.4 软件测试分类与分级
1.4.1软件测试的分类
· 是否关心内部结构 白盒测试、黑盒测试、灰黑测试
· 开发过程级别 单元测试、集成测试、系统测试、验收测试
· 是否执行程序 静态测试、动态测试
· 执行过程是否需要人工干预 手工测试、自动化测试
· 测试实施组织 开发测试、用户测试、第三方测试
· CSCI 功能测试、性能测试、安全测试、配置测试
1.4.2 软件测试分级
软件错误分级:严重缺陷、较严重缺陷、一般性缺陷、较小缺陷、其他缺陷

0 0
原创粉丝点击