51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5760|回复: 24
打印 上一主题 下一主题

[原创] 浅谈软件测试过程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-3-14 17:55:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在讨论这个话题之前先来说说什么是软件测试吧!
目前软件测试的定义并没有明确的标榜下来,也没有经典的定义。就我个人的理论学习层面的理解:在实施这个活动之前应该具备的两大条件:1.环境;2.方法。总的大概可以这么来说:软件测试就是在一定的硬件、软件及其网络等环境下,遵循一定测试规则要求,采用一定的测试工程或使用辅助工具来度量软件质量的一个过程。测试的终极目标是生产出高质量的产品,更好的满足客户的需求,从而为生产者实现更高的收益。
知道了它的存在形式和存在目的,那么接下来就来讨论一下它的实施过程吧。
软件开发的过程遵循其一定的生命周期包括:计划、需求、概要设计、详细设计、编码、测试、运行和评价等一系列的过程。如果围绕其阶段来说,软件测试可以分为单元测试、集成测试、系统测试。
单元测试的测试对象是一个或者一组函数,主要是看软件的编码与详细设计的符合程度。
集成测试的测试对象则是子系统或模块,主要是看软件的编码与概要设计的符合程度。
系统测试的测试对象则是一个完整的软件系统,主要是看软件与需求的符合程度。
在实施这三者的同时,为了能够更高效的实现三者,我们还是用了一个测试手段——回归测试。
回归测试简单可以理解成是软件测试的第二次实施,也就是居于上一次测试的基础进行相同测试,往往测试人员在进行完测试以后,如果发现某个地方出现了BUG,提交给测试人员后,开发人员修改完,测试人员再做进一步的验证的过程。
以上讨论到软件开发的生命周期中还说道测试,则主要偏重于开发后期的系统测试以及验收测试。
验收测试主要是指在软件开发后期的一个收尾工作,就是软件成形地开发出来以后进一步做校对验证其各个功能点的过程,这个过程主要是面向于用户来实施的。但是,生产者不可能模拟出所有的用户来进行校验,于是在验收测试的过程中就采用了两种方式来补充施行:1.alphal测试;2.beta测试。
alphal测试主要是在公司内部进行模拟用户环境进行测试;而beta则是利用外面的用户群体进行测试,也就是我们通常所说的公测了。
另外,换个维度来分析,软件测试有还可以将它划分为:白盒测试、灰盒测试和黑盒测试。而这三种测试则主要与以上所说的单元、集成和系统测试分别对应。
白盒测试主要是指居于代码逻辑方面的测试,灰盒测试则是居于函数接口的测试,黑盒测试则是居于功能角度方面进行考虑。但,测试的形式也是可以互相转换通用的,在进行单元测试的时候也可以使用黑盒手段来进行。
谈了测试的主要进行方式后,那么接下来再来继续说说测试具体是怎样来实施的。
居于单元、集成和系统测试而论:每种测试方式都离不开四个阶段1.测试计划阶段;2.测试设计阶段;3.测试实现阶段;4.测试执行阶段。
也就是说,单元测试分别有它的单元测试计划、单元测试设计、单元测试实现以及单元测试执行各个阶段,那么集成测试和系统测试也雷同。
在测试计划阶段主要是围绕各自的开发时的设计文档来展开的,系统测试是围绕需求规格说明书,集成测试围绕概要设计,单元测试围绕详细设计进行。在开展的过程中都有相应有几个要素:角色、入口、入口准则、活动、出口、出口准则、评审和审计、可管理和受控的工作产品、测量、书面规程、培训和工具等。必备的这主要抓住入口、入口准则、活动、出口、出口准则几个要素。
测试的整个过程其实都是文档化的可管理过程,所以在测试的每一个阶段都会形成相应的一些文档。
打个比方,假如现在进行一个系统测试。
那么,在系统测试计划阶段:输入的是《软件开发计划》、《软件测试计划》、《需求规格说明书》,输出《系统测试计划》;计划阶段:输入《需求规格说明书》、《系统测试计划》,输出《系统测试方案》;实现阶段:输入《需求规格说明书》、《系统测试计划》、《系统测试方案》,输出《系统测试用例》、《系统测试规程》及《系统测试预期测试项》;执行阶段:输入《系统测试计划》、《系统测试方案》、《系统测试用例》、《系统测试规程》及《系统测试预期测试项》,输出《系统测试预测试报告》、《系统测试报告》、《软件缺陷报告》。
同样,集成测试和单元测试也按照同样的方式进行。
在测试的过程中则对应有不同的角色对实施的不同阶段进行管理,分别有:软件开发项目经理、软件开发工程师,软件经理,QA、CCB负责人、软件测试项目经理及软件测试工程师等,对应的由他们来进行施行,展开工作。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-3-14 19:09:19 | 只看该作者
呵呵,从哪里抄过来的?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-3-14 19:38:54 | 只看该作者
看书后做出的总结而已,并没有什么实际经验,本人目前只是一个理论学习者,还请各位有经验的朋友指点一二!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-3-15 10:32:04 | 只看该作者
xie xie
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-3-15 11:44:03 | 只看该作者
挺好,
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-3-16 14:05:54 | 只看该作者
学习
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2011-3-16 15:22:44 | 只看该作者
挺有心的
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2011-3-16 17:41:39 | 只看该作者
关于测试过程的实际操作与理论中有什么区别?
希望哪位有工作经验的朋友能够说说心得,同时,以上的观点如果有什么误区和不足希望能够给予指正!
在下在此先拜谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2011-3-16 21:35:09 | 只看该作者
谢谢,希望多些文章。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2011-3-17 09:28:43 | 只看该作者
还可以的~~
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-3-17 10:10:03 | 只看该作者
没有触及本质,不能让我等新手入门。反而卖弄一些词汇,让人更加混乱。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2011-3-17 20:09:13 | 只看该作者
回复 11# s_baoshan
感谢你的指评!其实我发表这文章的主要目的就是希望发现自己目前的不足,感觉围绕着书本转实在太局限了!如果阁下发现有什么问题,不妨具体点说出来,大家共同讨论一下!
欢迎你的批评指点
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-12-6 15:38
  • 签到天数: 189 天

    连续签到: 1 天

    [LV.7]测试师长

    13#
    发表于 2011-3-17 20:21:29 | 只看该作者
    挺好
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2011-3-18 13:18:34 | 只看该作者
    这个测试工程太规范了。不过国内能有多少公司是这样执行的?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-3-18 20:38:11 | 只看该作者
    回复 8# 默铭

    首先说一下你所理解的软件测试过程还是早起的V模型,这种模型还被很多小公司所使用,但有很多弊端。这个模型将测试看做是代码开发完成后的工作,它无法测出前期需求分析、概要设计、详细设计阶段的错误而给后期测试带来的风险,换句话说,如果需求分析出现了对功能的理解错误,那么概要设计、详细设计,以及编码都是错误的。在软件需求分析阶段就出现的错误,直到编码完成后才被发现,这将给系统带来极大的风险,大大增加了系统的研发成本和缺陷的修复成本。软件测试模型还有W模型、X模型、H模型、螺旋模型等等,你可以都可以去学习一下,但实际工作中,一个项目的测试过程不可能严格按照一种模型来做完,其过程中可能会各模型相互穿插的使用。慢慢来吧,经验是建立在理论基础之上的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2011-3-19 09:40:14 | 只看该作者
    回复 15# wangsc_testing
    听您这么一分析,感觉自己的认识还是挺单一的。此外,我想问下,在实际工作中V模型是不是靠需求管理和配置管理来共同解决这些弊端的?还有,您所说的W模型、螺旋模型、X模型、H模型,是不是能够有效的脱离需求变更的束缚?它们相对于V模型来说有什么优势和不足……
    目前我只是觉得,测试应该始终都是会受需求的牵制的吧!只是在不同的测试阶段影响的程度不同而已,不同的模型可能只是对测试的管理方式有所不同!菜鸟之见,有哪里不妥还请批评指正!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-3-19 10:07:58 | 只看该作者
    不同项目,不同目的。质量、时间、投入本身就是相互制约的关系。“测试的终极目标是生产出高质量的产品,更好的满足客户的需求,从而为生产者实现更高的收益。”,这句话,往往是测试人员安慰自己的。如果站在领导层面上,他们目的可能不是“生产出高质量的产品”,或许是“满足客户的需求”,或“达到客户的需求”,但一定是“利益最大化”。所以这个终极目标错误了。

    测试人员,如果目标错了,那下面的工作就会错的的更多,在与其他人合作的时候,交流就会不通畅。除非你的老板永远支持你,他的目标也是创造世界品质一流的产品,但是在中国现在这个浮躁的社会,可能吗?

    所以,实践中,一定要知道项目的目的和目标是什么。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2011-3-19 15:54:21 | 只看该作者
    回复 17# nomura
    并不否任目前国内大多数公司仅是以达到基本需求为主,但质量却是满足需求的前提啊!我这里所说的质量可以根据实际情况分几个层次来理解,至于到什么程度,那就看公司的责任、诚信及技术等各方面综合条件了!当然,要盈利是要考虑到时间,成本,技术等多方面的问题,可是生产出没有质量的产品又怎么可能盈利呢?打个比方,有谁会花钱去买一个毫无质量保证的产品呢?所以我觉得质量才是满足需求的根,质量管理也正是测试人员存在的价值所在。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-3-19 21:51:11 | 只看该作者
    本帖最后由 wangsc_testing 于 2011-3-19 21:52 编辑

    回复 16# 默铭

    首先你得清楚V模型的局限性,它的局限性在于需求分析阶段隐藏的问题一直到后期的验证测试才被发现。那么解决这些局限性并不是靠需求管理来解决,需求管理仅仅是针对需求,你不可能通过需求管理来保证不会出现需求变更或隐藏的问题。
    任何测试工作都不可能脱离需求或需求变更,如果测试工作脱离需求的束缚,那就不是软件测试了。合理的测试过程受到需求变更的影响小点,修改的成本小而已。V模型的测试过程是从编码结束后开始,它的过程就是你所说的,先是单元测试,再是集成测试,然后是系统测试,最后是验收测试,这四个步骤中所使用的测试依据依次是详细设计文档、概要设计文档、需求分析文档,最后是用户需求,然而这些仅仅是测试依据,如果有一个文档中隐藏着问题没有发现,那么开发出的程序中就隐藏着缺陷。W模型比V模型稍微好点的就是它对需求文档等一些设计文档事先进行了测试,测试这些设计文档的目的就是希望能够保证在需求、设计阶段不要隐藏什么问题,它的测试过程开始时间比V模型的更早点而已,但W模型的局限性在于它和V模型一样,都只是把开发过程看做是需求、设计、编码这样的串行过程,它也仅仅是把测试工作看做是软件开发之后的一个线性的先后关系,它很难实现测试工作的迭代,也没有考虑需求变更的因素。H模型的核心是只要测试条件成熟了,测试工作就可以执行,它的优势在于测试工作可以重复,能够很好的应对需求变更的问题,实际上,H模型中的测试过程是一个独立的过程,它不像前面两个模型那样容易受到需求设计阶段的影响。X模型是针对单独的程序模块或片段进行的相互分离的编码和测试,每个程序片段编码、测试完成后,再进行频繁的集成交接,最终形成软件系统。X模型还可以进行探索性测试,它摆脱了那种常规的测试方法。螺旋模型其实是开发模型衍生出的,它将系统分为很多“周期”来完成,事先仅开发系统的部分功能,然后就开始进行测试,然后再向里边添加其他功能,然后再测试,就这样迭代式的开发和测试,直到形成整个系统。
    测试工作肯定是受到需求的牵制,但选择不同的测试模型,需求对测试过程的影响是不一样的,你比如V模型和W模型都会受到需求的牵制,但H模型就较好的解决了这种牵制,无论需求怎么变,测试过程不变。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2011-3-22 19:28:25 | 只看该作者
    回复 19# wangsc_testing
    受教
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 09:29 , Processed in 0.083284 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表