发表于: 2017-08-23 17:55:32

2 1146


编辑日报内容...

今天完成的事:继续深入了解测试基础

什么是软件测试?

测试是为发现错误(目的)而执行程序(手段)的过程。

软件测试的测试对象

软件需求、软件概要设计、软件详细设计、软件运行环境、可运行程序、软件源代码

软件测试五大要素

质量(核心)、人员(决定因素)、资源(测试需要)、流程(规范性)、技术(手段)

软件测试两个目标

测试覆盖率(有效保障软件质量)、测试效率(更好的完成软件测试)

软件测试所遵循的原则

一、测试能够显示缺陷的存在,而不能够证明系统不存在缺陷

二、穷尽测试是不可能的,应该设定及时终止的条件

三、测试应该尽早进行

四、缺陷具备群集特性(发现问题越多,隐藏问题就越多,重点关注问题多的模块)

五、测试的杀虫剂悖论(测试用例和测试方法应不定期的评审修改,并且增加不同的测试用例和测试方

法,从而发现更多的软件缺陷)

六、测试的二八原则(时间、资源有限,不可能找出所有的缺陷,测试总是存在风险的,百分之八十的

时间用在百分之二十的重点模块,重点测试重要模块)

七、测试活动依赖于测试背景(针对不同的测试背景,测试活动是不同的)

软件测试的分类

按测试阶段分类

一、单元测试,对软件中的最小可测试单元进行检查和验证

原则

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

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

益处

1、能尽早发现缺陷

2、有利于重构

3、简化集成

4、文档(尽可能减少文档存在)

5、用于设计

限制

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

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

框架

Xunit/Junit/PHPuint/Nuint/CPPuint

二、集成测试,是在单元测试完成的基础上,针对已经完成单元测试的那些模块,并把它们组装成更高

一级的模块、子系统,针对这些子系统来进行一个集成

集成测试的主要实施方案

1、一次性集成,把大部分的开发模块都耦合起来,形成一个完整的软件系统或系统的主要组成部分,并

把它们拿来做集成测试

2、自顶向下,递增的组装软件结构的方法,一般从主程序开始沿控制层逐层向下集成,逐层测试,覆盖

所有模块

3、自底向上,最长用的集成方法,模式是从最底层的模块开始逐层的向上组装并逐层测试,好处是针对

已经集成的测试,不需要再针对上一层编写、装模块,优点能够比较好的锁定软件故障的所在位置

4、核心系统集成,先把核心的软件部分挑选出来,并对这些部分进行集成测试,在测试通过的基础上,

再逐步扩展外围部件,直到最后形成稳定的软件产品

5、高频集成,同步于软件开发过程,隔一段时间就对现有的代码进行一次集成测试,高频次不断进行集

成测试

核心集成结合高频集成是现在敏捷开发长用的方式,自顶向下或自底向上是传统研发长用的方式。

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

1、测试的对象不同(单元对象最小测试单元,集成对象模块、子系统)

2、测试的依据不同(单元依据软件详细设计,集成依据软件概要设计)

3、测试的方法不同(集成关注测试模块之间接口的集成,单元只关心在单元的内部)

三、系统测试,是在集成测试的基础上作为计算机系统的一个部分,与系统中的其他部分结合起来来运

行,单元、集成测试很多地方会采用模拟的方式来做,系统测试更多的是使用真实的运行环境来系统的

对软件进行测试,测试岗位主要就是针对系统测试这个阶段

关注点

1、关注系统本身的使用,从功能上更多的关注系统使用上的问题

2、关注被测系统与其它系统的关联性、连通性

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

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

系统测试和集成测试的区别

测试对象(集成由通过了单元测试的各个模块所集成起来的构件,系统测试除了软件之外,还包括计算

机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统)

测试时间(集成测试介于单元测试和系统测试之间,系统测试在集成测试之后)

测试内容(集成测试各个单元模块之间的接口,系统测试整个系统完整的功能和性能)

测试角度(集成测试偏于技术角度的验证,系统测试偏于业务角度的验证)

四、验收测试(交付测试),针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由

用户、客户或其他授权机构决定是否接受系统。

细分为,用户验收测试(一般由开发方在移交产品之前进行)、运行验收测试(从运维的层面来看系统

是否可以正常运行和正常维护)、合同和规范验收测试(参照物或约定的规范进行验收,针对合规进行

验收)、alpha测试(在开发者所提供的场所或环境中来运行,一般是由用户来执行)、Beta测试(在用

户提供的场所或环境中测试)


明天进行的事:

                   基础知识多,明天继续努力

遇到的问题:

                    暂时没有

收获:

         对测试基础有了进一步的了解,基础知识缺乏,努力努力



返回列表 返回列表
评论

    分享到