《软件测试基础》

一、《测试定义》
    1、通过人工或自动的手段,对被测对象进行检测的活动,目的在于发现被测对象是否实现用户的需求。或者弄清实际结果与预期结果之间的差异。
    2、什么是软件:大体的说是由源代码、用户手册、配置数据组成的
    
二、《测试目的》
    1、发现被测对象与用户需求间的差异--俗称找bug
    2、通过测试活动发现并解决缺陷,增加人们对被测对象的质量信心。
    3、通过测试活动,获取被测对象的质量信息,为决策提供数据依据。
    4、通过测试活动,预防缺陷,从而降低项目或产品的风险。
    
三、《测试原则》
    1、测试证明软件存在缺陷。
    2、不可能执行穷尽测试。
    3、测试应尽早启动,尽早介入。
    4、缺陷存在群集想象。
    5、杀虫剂悖(be)论。
    6、不同的测试活动依赖不同的测试背景。
    7、不存在缺陷的谬(miu)论。

一、《测试对象》
    1、软件源代码。
    2、与软件源代码匹配的文档。
    3、支撑软件源代码运行的配置数据。
    4、需求阶段:
        a、需求文档:测试需求文档是否正确实现了用户的需求。
    5、系统设计阶段:
        a、概要设计文档。
        b、详细设计文档。
        c、是否有设计或逻辑上的错误。
    6、编码阶段:
        a、测试源代码:发现编程上的错误。
    7、系统测试阶段:被测对象是否满足用户需求
    
二、《测试级别(测试阶段)》
    1、单元测试:针对被测系统最小的组成单元实施的测试活动,一般是类或是函数,也可能最小的功能单元。
    
    2、集成测试:针对组件/单元组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符合。
        分三种集成:函数间集成、模块间集成、子系统间集成。
        
    3、系统测试:将通过集成测试的软件,部署在真实的用户环境下执行测试。
        
    4、验收测试:以用户为主的测试,验收组应该由项目组成员、用户代表组成。
        α测试:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时沟通解决,在受控环境下执行测试。
        β测试:开发者不在测试人员身边,发现问题由专人统一收集,再由研发人员进行修改,在不受控环境下执行测试。
        UAT测试:用户接受度测试,一般商业软件/商业用户验证系统可用性进行的测试。

《测试类型》
        1、功能性测试:在指定使用条件下使用被测对象,验证其是否满足用户显性或隐性需求。
                测试关注点:
                    a、是否有不正确或遗漏或多余的功能。
                    b、满足系统显性或隐性需求。
                    c、是否队输入输出做出了正确的响应,输出结果能否正确的显示。
            
        2、性能测试:通过模拟被测对象运行业务压力和使用场景,验证被测对象是否满足预先设定的性能指标。
                    验证系统是否具有宣称能力。
                    了解测试系统典型场景,并具有确定的指标。
                    要求在真实环境下实施。
        
        3、安全测试:测试被测对象的安全保护机制保护系统不受非法侵入,能够接受正确授权的操作。
        
        4、兼容测试:验证被测对象在不同的操作系统硬件信息等环境下的运行情况。

《软件测试方法》
    1、黑盒测试:不关注被测对象的内部结构,仅从用户需求考虑,是否满足用户的显性或隐性需求。
    
    2、白盒测试(结构测试、逻辑驱动测试):只关注被测对象的内部结构。
    
    3、灰盒测试:即关注被测对象的外部特性,又关注其内部设计。
    
    4、静态测试: 不执行被测对象的源代码,不允许被测对象测试方法。
    
    5、动态测试:运行被测对象的源代码,执行测试用例检查是否是我们想要的。

    6、手工测试:通过测试工程师试用、验证被测对象是否满足用户需求。
    
    7、自动化测试:通过自动化测试工具或脚本语言,自动完成测试过程。

《软件质量》
    1、质量的定义:质量是物体本身的属性,物体的质量与物体的形状、物状及其所处的空间位置无关,质量是物体的一个基本属性。
        1、软件产品满足用户或规定显性需求或隐性需求的程度。
        2、内部质量。
        3、过程质量。
        4、外部质量。
        5、使用质量。
        
    2、质量特性:
        1、功能性:
            a、定义:软件在指定条件下使用时,满足用户明确和隐含需求的功能的能力。
            b、适合性:软件为指定的任务和用户目标提供一组合适功能的能力。
            c、准确性:软件提供具有所需精确度的正确或相符的结果或效果的能力。
            d、互操作性:软件与一个或更多的规定系统进行交互的能力。
            f、保密安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员                                            或系统对它们的访问。
            i、功能性依从性:软件遵循与功能性相关的标准、约定或法规以及类似规定的能力。这些标准要考虑国际标准、国家标准、                                            行业标准、企业内部规范等。
            
        2、可靠性:
            a、定义:软件在指定条件下使用时,维持规定的性能级别的能力。
            b、成熟性:软件为避免由软件中错误而导致失效的能力。
            c、容错性:在软件出现故障或者违反指定接口的能力,软件维持规定的性能级别的能力。
            d、易恢复性:在失效发生的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力。
            e、可靠性依从性:软件遵循与可靠性相关的标准、约定和法规的能力。
        
        3、易用性:
            a、定义:在指定条件下使用时,软件被理解、学习、使用和吸引用户的能力。
            b、易理解性:软件使用户能了解软件是否适合,以及如何能将软件用于特定的任务和使用环境的能力。
            c、易学性:软件使用户能学习其应用的能力。
            d、易操作性:软件使用户能操作和控制它的能力。
            e、吸引性:软件吸引用户的能力。
            f、易用性依从性:软件遵循与易用性相关的标准、约定、风格指南或法规的能力。这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等。
        
        4、效率:
            a、定义:在规定条件下,相对于所用资源的数量,软件可提供适当性能的能力。
            b、时间特性:在规定条件下,软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力,即完成用户的某个功能需要的响应时间。
            c、资源利用性:在规定条件下,软件执行其功能时,使用合适的资源数量和类别的能力。
            d、效率依从性:软件遵顼与效率相关的标注或约定的能力。
        
        5、可移植性:
            a、定义:软件可被修改能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的试验性。
            b、易分析性:软件诊断软件中的缺陷、失效原因或识别待修改部分的能力。
            c、易改变性:软件使指定的修改可以被实现的能力。
            d、稳定性:软件避免由软件修改而造成意外结果的能力。
            e、易测试性:软件使已修改软件能被确认的能力。
            f、可移植性依从性:软件遵循与可移植性相关的标准或约定的能力。
            
        
        6、可维护性:
            a、定义:如那件从一种环境迁移到另一种环境的能力。
            b、适应性:如那件无须采用有别于为考虑该软件的目的而准备的活动或手段,尽可能适应不同指定环境的
            c、易安装性:软件在指定环境中被安装的能力。
            d、共存性:如那件在公共环境中同于其分享公共资源的其他独立软件共存的能力。
            e、易替换性:软件在同样环境下,替代另一个相同用途的指定软件产品的能力。
            f、维护性依从性:软件遵循与维护性相关的标准或约定的能力。
        
       

猜你喜欢

转载自www.cnblogs.com/yuhongquan/p/9224005.html