爬虫师

导航

测试基本概念

一. 系统测试基本概念
         定义
        系统测试(System Testing)是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机进行一系列的组装测试和确认测试。
        目的
       系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方,以验证软件系统的功能和性能等满足其规约所指定的要求。系统测试的测试用例应根据需求分析说明书来设计,并在实际使用环境下来运行。
        方法
        软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
 
二、系统测试的类型
(1)功能测试
       功能测试的概念
        功能测试:是系统测试中最基本的测试,它不管软件内部的实现逻辑,主要跟句产品的需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。
        功能测试发现的错误类型
        功能测试主要是为了发现以下几类错误:
        是否有不正确或遗漏了的功能?
        功能实现是否满足产品用户需求和系统设计的隐藏需求?
        能否正确的接受输入? 能否正确的输出结果?
 
        功能测试要求测试设计者对产品的规格说明、需求文档、产品业务功能都非常熟悉,同时对测试用例的设计方法也有一定掌握,才能设计出好的测试方案和测试用例,高效地进行功能测试。
        对需求规格说明书分析的步骤
        在进行功能测试的时候,首先需要对需求规格说明进行分析,因为这是功能测试的基本输入。对需求规格的分析可以分为几个步骤:
         1、对每个明确的功能需求进行标号:(对于在需求规格文档中已经有标号的可以直接引用)。
         2、对每个可能隐含的功能进行标号;
         3、对于可能出现的异常功能进行分了分析,并标号;
         4、对于前面三个步骤获得的功能需求进行分级——关键功能和非关键功能;其中关键功能是指那些对用户来说必不可少的功能,这类功能的丧失将导致用户拒绝产品。而非关键功能主要是那些对产品可用性贡献的功能,时这类功能的缺失用户可能不满意,但不会导致拒绝产品。
         5、对每个功能进行测试分析,分析其是否可测试,如何测试,可能的输入,可能的输出等。
         6、脚本化和自动化。
        功能测试要点
        功能测试需要注意一下几点:
        1、多考虑用户在什么情况下如何使用该功能,比如网络断掉的是否访问网站,用键盘进行操作等等。
        2、多考虑用户对多个功能的组合运用。
        3、对服务器软件多考虑多用户同时访问、操作的情况,需要检查用户的同时使用是否会导致功能的失效。
(2)性能测试
         基本概念
        性能测试(Performance Testing)就是用来测试软件在集成系统中的运行性能的。性能测试可以发生在测试过程中的所有步骤中,即使在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当这个系统的所有成分都集成到一起之后,才能检查一个系统的真正性能。
性能测试的目标是度量系统相对于预定义目标的差距。需要的性能级别针对于实际的性能进行比较,并把其中的差距文档化下来。
         一些感兴趣的性能信息
        CUP使用情况
         IO使用情况
        每个指令的IO数量
        信道使用情况
        主要存储内存使用情况
        第二存储内存使用情况
        每个模块执行时间百分比
        一个模块等待IO完工的百分比时间
        模块使用在主存储上的时间百分比
        指令随时间的跟踪路径
        控制从一个模块到另一个模块的次数
        遇到每一组指令等待的次数
        每一组指令页换入和换出的次数
        系统反应时间
        系统吞吐量,即,每个时间单元的处理数量
        所有主要指令的单位执行时间。
       任何性能测试研究方面建议的步骤:
        1、文档化性能测试目标,例如,确切的性能度量标准必须被验证;
        2、定义测试驱动或者用于驱动系统的输入源;
        3、定义要使用的性能方法或者工具;
        4、定义性能研究如何被进行,例如,什么是基线,什么是变化,当可重复的时候如何可以被检验,如何可以知道何时研究被完成了?
        5、定义报告过程,例如,技术和工具。
        性能测试时一个较大的范畴,包括测试在各种业务场景下的性能测试表现,包括响应时间、资源使用情况、系统极限容量等;负载测试、压力测试和容量测试只是从不同角度来测试的一种性能测试而已。
       功能测试要点
        1、多考虑用户在什么情况下如何来使用该功能的,比如网络断掉的时候访问网站,用键盘进行操作等等。
        2、多考虑用户对多个功能的组合运用,比如对手机进行的功能测试,需要考虑到用户同时使用多个功能的情况。现在手机功能越来越多,除了必须的通话功能、信息功能之外,还有拍照功能、MP3功能、游戏功能、闹钟功能等等。单独每个功能需要进行测试,但更重要的是这些功能的组合使用,想象这样一种情况: 用户在后台听着MP3的时候,前面玩着游戏,结果接到一个电话,在接听电话的过程中,又来了一条短信,还没来得及看这条短信,前面设定的闹钟又到时间了,这样手机的各种功能还能正常工作吗,这就需要进行测试。
        3、对于服务器软件多考虑多用户同时访问、操作的情况,需要检查用户的同时使用时否会导致功能的失效。

posted on 2015-06-19 15:13  爬虫师  阅读(464)  评论(0编辑  收藏  举报