软件测试7到9章总结

来源:互联网 发布:易语言打开网页源码 编辑:程序博客网 时间:2024/04/28 03:18

1.知识总结

      总体感觉最近学的比上一次学的略微简单点,也更系统了,感觉学到的东西也比上一次多了,下面我就说说自己这段时间的收获,总结一下最近的得失。

    我们这段时间学的是《现在软件测试基础》第三部分 软件测试技术的内容,通过学习我知道了软件测试分为静态测试和动态测试两部分,感觉静态测试的部分有些琐碎,记起来有些困难,还容易忘记;然而软件动态测试恰恰相反,它比较系统记起来和理解起来比较容易一些。下面详细说说软件静态测试部分,软件静态测试需要我们了解静态测试相关的知识和概念,软件静态测试看中一个字“静”,也就是说,我们在测试时不执行软件的程序代码而直接惊醒测试,静态侧测试应为不执行程序也即是我们手工进行测试,这也是静态测试的特点。软件静态测试比较注重点的又有各阶段测试、代码检查、软件复杂性分析和软件质量管理等。我认为比较重要的是各阶段评审和代码检查,其中各阶段评审中最正式的是(审查)其次略微正式的是小组评审。还有个走查是由作者主持的,作者主持一定不是正式却有些随意。最后是临时审查就是遇到问题找同事商量解决。说完软件静态测试的各阶段测试,再说说代码检查,代码检查顾名思义,就是程序员写完代码回头检查代码有没有错误,一个程序的代码一般都很长,这就要求我们有一个规范系统的方法才能检查出代码的错误。方法有代码审查,桌面检查、代码走查、技术评审等类似上面说的各阶段测试方法。最正式的是技术评审,人员要求都受过专业训练。最不正式的是桌面检查,自己编写自己查。代码审查代比码走查略微正式一些。

 动态测试模糊名词

在软件静态测试中有两个模糊且不太懂的名词,一个是需求规格和需求规格说明书,我特地在百度搜索了一下:(软件规格) 是指对要求解的问题重新进行描述,使之更能准确地反映实际业务流程,导出并评价可供选择的解法,推荐行动方针,草拟出项目开发计划。项目开发计划是根据用户提出的功能和性能要求、开发时间和费用的限制而制定的,它要说明该项目需要的硬、软件资源,开发人员的层次和数量,项目开发费用的估算,开发进度的安排等,并把这些结果以文档的形式表达出来,从而形成软件规格说明书。(软件规格说明书)软件规格说明书作为产品需求的最终成果,必须具有综合性,包括所有的需求。

动态测试

     下面说一下软件动态测试,软件动态测试包括白盒测试、黑盒测试、灰盒测试、测试用例设计、单元测试、集成测试等。

     白盒测试就是能看见程序,输入数据进行测试得到输出,数据测试主要是对程序测试。白盒测试又分为逻辑覆盖和基本路径测试;逻辑覆盖就是为了找出程序中的缺陷,让每个程序都执行一次看看有没有错误。程序中还有很多的判断语句想swith、while等,就会出现分支,我们要做的是测试这些分支程序叫做分支/判定覆盖。程序中还有if等用来判定条件完成程序的不同分支测试这种方法叫做条件覆盖。而分支/判定覆盖和条件覆盖相结合叫做判定条件覆盖。 

白盒测试的方法还有一个叫基本路经测试,程序应为有各种判定条件和判定语句会产生很多分支,从而会产生很多路径,因此为了全面测试我们也要测试各个路径。首先就是画流程图以分支点作为节点就会有很多路径,再就是计算圈复杂度V(G)=E-N+2 ,E是流程图边的数量,N是流程图额节点。再就是写出路径,对路径进行测试用例。

黑盒测试

下面说黑盒测试,黑盒测试就是把程序看成一个看不见的黑盒子,只关心测试输入和输出,看看是否达到了要求。黑盒测试的方法有等价类划分法、边界值分析法、因果图分析法。等价类划分是把输入看成一个大的集合,在划分成很多子集,再从子集中选取典型的进行测试。的等价类又分为有效等价类和无效等价类,有效等价类是有意义必要的,无效就是没意义的。还有这一种方法是边界值分析法,很多错误会出现在输入数据的边界,上面我们划分好了等价类,边界就是对等价类的边界值进行测试。最后一个是因果图,因果图就是我们在测试时要考虑输入条件之间关系而设计的测试用例,但是条件之间关系会有很多,我们就需要利用因果图来进行测试。

灰盒测试

    灰盒测试是白盒测试与黑盒测试的结合,灰盒测试既考虑了内部结构也考虑了外部结构来设计测试用例。

    下面说说动态测试中的测试用例、单元测试和集成测试。测试用例是为了一个特定目的而设计的测试输入。设计测试用例的时候,需要有清晰的测试思路;对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数。测试用例编写者不仅要掌握软件测试的技术和流程,而且要对被测软件的设计、功能规格说明、用户使用场景以及程序/模块的结构都有比较透彻的理解。单元测试软件由一个个单元组成,我们可以进行一个个单元测试,在把他们整合后在进行集成测试。

     这一章还有用个模糊概念,接口   百度:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。

    人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。接口也就是我们通常说的API吧,个人认为接口分为程序内部接口,程序外部接口,内部接口的测试通常是进行白盒测试(测试通常是开发进行的),你这里说的应该是程序的外部接口。其实程序的外部接口也可以进一步细分的,比如组件的接口,web服务接口等等。对于组件的接口的测试也是使用白盒测试的,需要准备驱动程序。而web服务接口的测试,可以借助一些工具来进行。你说的淘宝的接口测试应该就是对web服务的测试,其实原理就是你根据web服务的格式要求准备测试数据(xml文件),然后通过工具把请求发送的web服务器,然后验证返回的结果。 

0 0
原创粉丝点击