软件测试基础(一)

来源:互联网 发布:mac os更新系统失败 编辑:程序博客网 时间:2024/05/16 23:59

    前言:1、理论知识是进行实践的前提,只有进行依托于理论知识的实践才是有意义的;
          2、经过不断的实践后的总结问题不是浪费时间,而是为了让你以后面对问题时能更好的、更效率的去解决;
          3、学习=实践->遇到问题->解决问题->再实践;


    一、测试的定义:是指通过人工或自动的手段,对被测对象进行检测的活动,其目的在于发现被测对象与客户需求之间的差异,或者说弄清楚实际结果与预期结果之间的差异。


    二、软件:源代码、用户手册、配置数据。


    三、测试对象:软件源代码、与软件源代码匹配的文档、支撑软件源代码运行的配置数据。

             系统设计阶段:概要设计文档、详细设计文档、是否有设计或逻辑上的错误;

             编码阶段:测试源代码(发现编程上的错误);

             系统测试阶段:被测对象是否满足用户需求。


    四、软件测试的目的(软件测试工程师存在的价值):

          1、发现被测对象与用户需求之间的差异--俗称找bug;

          2、通过测试活动发现并解决缺陷,增强人们对被测对象的质量信心;

          3、通过测试活动获取被测对象的质量信息,为决策提供数据依据;

          4、通过测试活动预防缺陷,降低项目或者产品的风险。


    五、软件测试的原则:

          1、测试证明软件存在缺陷;

          2、不可能执行穷尽测试;

          3、软件缺陷存在集群现象(二八定律);

          4、测试应尽早启动,尽早介入;

          5、杀虫剂悖论;

          6、不同的测试活动依赖于不同的测试背景;

          7、软件不存在缺陷的谬论。


    六、软件质量模型(外部和内部质量):

          功能性:

               1、适合性

               2、准确性

               3、互操作性

               4、安全保密性

               5、功能性依从性

          可靠性:

               1、成熟性

               2、容错性

               3、易恢复性

               4、可靠性依从性

          易用性:

               1、易理解性

               2、易学性

               3、易操作性

               4、吸引性

               5、易用性依从性

          效率:

               1、时间特性

               2、资源利用性

               3、效率依从性

          维护性:

               1、易分析性

               2、易改变性

               3、稳定性

               4、易测试性

               5、维护性依从性

          可移植性:

               1、适应性

               2、易安装性

               3、易替换性

               4、共存性

               5、可移植性依从性


    七、测试级别(测试阶段):

          1、单元测试:针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能单元;

          2、集成测试:针对组件/单元与组件/单元之间的的接口实施的测试活动,验证接口设计是否与设计相符;

               分3种集成:函数间集成、模块间集成、子系统间集成。

          3、系统测试:将通过集成测试的软件,部署在真实的用户环境下执行测试;

          4、验收测试:以用户为主的测试,验收组应该由项目组成员、用户代表组成;

               α测试:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时沟通解决(在受控环境下执行测试);

               β测试:开发者不在测试人员身边,发现问题由专人统一收集,再由研发人员进行修改(在不受控环境下执行测试);

               UAT测试:用户接受度测试(一般商业用户验证系统可用性进行的测试);

          注意:单元测试阶段大约能发现80%左右的缺陷。

  

    八、系统测试类型:

          1、功能性测试:在指定使用条件下,使用被测对象,验证其是否满足用户显性或隐形需求;

               测试关注点:1)、是否有不正确或遗漏或多余的功能;

                           2)、满足系统显性或隐形需求;

                           3)、是否对输入输出做出了正确的响应,输出结果能否正确显示。

          2、性能测试:通过模拟被测对象运行业务的压力或使用的场景,验证被测对象是否满足预先设定的性能指标;

               测试关注点:1)、验证系统是否具有宣称的能力;

                           2)、了解测试系统典型场景,并具有确定的性能目标;

                           3)、要求在真实环境下实验。

          3、安全性测试:测试被测对象的安全保护机制保护系统不受非法侵入,能够接受正确授权的操作;

          4、兼容性测试:验证被测对象在不同的操作系统、硬件信息等环境下的运行情况;


    九、软件测试方法:

          1、黑盒测试:不关注被测对象内部结构,仅从用户需求考虑,是否满足用户显性或隐形需求;

          2、白盒测试(结构测试、逻辑驱动测试):对被测对象内部结构进行测试;

          3、灰盒测试:既关注被测对象的外部特征,又关注其内部设计;

          4、静态测试:在被测对象没有运行的时候进行的检测活动;

          5、动态测试:在被测对象运行的过程中进行的检测活动;

          6、手工测试:通过测试工程师试用,验证被测对象是否满足用户需求;

          7、自动化测试:通过自动化测试工具或脚本语言自动化完成测试过程。


     ---------------纸上得来总觉浅,觉知此事要躬行。

0 0
原创粉丝点击