慕课----软件测试基础-概念篇1

慕课----软件测试基础-概念篇1


1 软件测试概要


1)软件测试的历史



2)什么是软件测试




3)软件测试的测试对象

    软件测试的测试的对象是软件需求、软件概要设计、软件详细设计、软件运行环境、软件源代码、可运行程序。即软件测试应覆盖软件生命周期的方方面面。

4)软件测试的五大要素和两个目标

    五大要素: 质量(最为核心),人员(决定因素),技术(实现手段)【测试技术,方法,测试工具】,资源【测试所需的硬件,网络环境,测试数据,测试生命周期,测试时间】,流程(测试标准)【测试计划,测试执行,报告】

    目标:提升测试覆盖率及提升测试效率

扫描二维码关注公众号,回复: 1873286 查看本文章


5)软测应遵循的原则

    1. 测试显示缺陷的存在,但不能证明系统不存在缺陷。

    测试是为了发现错误而不是证明没错误 。

    2. 穷尽测试是不可能的,应设定及时终止的条件。

    无穷无尽的测试是不可能的,需很大代价;无论怎样测试,我们不可能发现软件的所有缺陷。

    3. 测试尽早进行


    4. 缺陷具有群集特性

    发现越多缺陷的模块,说明该模块存在越多没有被发现的缺陷。

    5. 测试的杀虫剂悖论

    应对测试用例,测试方法不定期的评审,添加新的测试用例或测试方法发现新的缺陷

    6. 测试的二八原则

    80%的时间测试20%的重要模块

    7. 测试活动依赖于测试背景

    如电信软件主要是性能测试,银行软件主要是安全测试。


2 软件测试阶段

    软件测试按测试阶段来分类:单元测试、集成测试、系统测试和验收测试。

2.1 单元测试

    是各个测试阶段的基础,是对软件中的最小可测试单元进行检查和验证。单元时人为规定的可测试的最小模块。杜宇C语言来说相当于函数,对于C++来说相当于类,对于软件来说相当于一个功能项。

1)单元测试原则

    1. 尽可能保证各个测试用例互相独立

    尽量避免依赖外部类。

    2. 一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求

2)单元测试益处

    1. 能尽早发现缺陷

    降低损失。

    2. 有利于重构

    最大限度保证重构正确性。

    3. 简化集成

    为集成测试奠定基础。

    4. 文档

    通过对单元测试代码的阅读可较容易明白代码含义,从而简化文档作用。

    5. 用于设计

    设计本身可验证设计。

3)单元测试限制

    1. 不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误。

    2. 每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。

4)单元测试框架

    Xunit

    JUnit

    PHPUnit

    nunit

    CppUnit

2.2 集成测试

    是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。

1)主要实施方案    

    1. Big Bang

    也叫一次性集成。就是把所有的东西组装好,然后再一起进行测试。

    2. 自顶向下

    是一个递增的组装软件结构的方法。

    3. 自底向上(最常用)

    4. 核心系统集成。

    5. 高频集成

    高频次的不断地进行集成。每隔一段时间就对现有代码测试。

2)集成测试与单元测试的区别

    1. 测试对象不同

    模块与子系统 VS 单元

    2. 测试依据不同

    概要设计 VS 详细设计

    3. 测试方法不同

    接口 VS 单元内部

2.3 系统测试

    是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。

    测试岗位一般指系统测试。

1)关注点

    1. 关注系统本身的使用

    2. 关注系统与其他相关系统间的连通

    3. 关注系统在不同使用压力下的表现

    4. 关注系统在真实使用环境下的表现

2)系统测试与集成测试的区别

    1. 测试时间

    系统测试在集成测试之后。

    2. 测试内容

    集成测试:各个模块之间的接口

    系统测试:整个系统的功能和性能

    3. 测试角度

    集成测试:偏于技术角度的验证

    系统测试:偏于业务角度的验证

2.4 验收测试

    从用户的角度对系统软件的认可验收。也称交互测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权结构决定是否接受系统。




    



 


    






猜你喜欢

转载自blog.csdn.net/qq_27022241/article/details/80812970