技术开发 频道

简析软件开发中的测试过程

    【IT168 管理】 

    我对于测试工作超级热爱,但是很多方面还是不太了解,所以贴一下对于测试过程的一点点见解,希望不吝赐教。 

    测试流程 

    在整个测试过程中,要完整的做好Process中的以下几个方面: 

    •测试需求的制定 

    •测试计划的制定 

    •测试设计的完成 

    •测试的执行 

    •测试的小结 

    最终完成对软件当前迭代阶段的评估。 

    测试需求的制定 

    测试需求是根据软件的需求在不同迭代阶段完成的不同测试需求。 

    首先制定测试计划。制定测试计划的目的是在不同的阶段设定测试目标,测试范围,测试内容,不同测试所运用的测试方法以及测试所使用的工具,测试人力,测试结束之后能够生成的文档。 

    在不同的测试阶段需要制定不同的测试计划。 

    在测试的第一阶段,即Signing-off Testing阶段,测试的重点主要是放在功能性测试,界面测试,安全性测试上。而到了第二阶段,即Coverage Testing阶段,测试的重点主要是放在性能测试,压力测试,负载测试上。到了第三阶段,即Release Testing阶段,测试的重点主要是放在软件的最后审核上。所以每个阶段都需要有详细的测试计划。 

    测试计划主要内容 

    •测试计划 

    •测试目的 

    •测试范围 

    •测试参考文献 

    •测试项目,包括: 

   
    功能性测试----测试每一个功能点的正确性,测试使用到了正确值,边界值以及错误值。使用的数据应当具备典型性。 

    界面测试----每个界面都符合标准,每个控件都符合标准,每一个字符正确,界面出现的顺序正确。 

    安全性测试----多用户测试,文件安全性,用户信息的安全性 (主要可参照Windows下的多用户)。 

    性能测试----当对大数据量的Data File进行操作的时候,系统处理某个Event所需要的时间。当许多用户同时对一个Data File进行操作的时候,系统的响应时间。系统处理某些时间所需要花费的时间。 

    负载测试----系统所能处理的最大Data File,同时操作一个Data File可接受的最大用户数,在用户达到一定数量之后,系统处理某个Event所花费的时间。 

    压力测试----单用户处理的时候,系统处理多大数据时,系统会Crash;多用户处理的时候,多少台用户同时操作一个数据库的时候,系统会Crash。 

    测试的设计 

    • 测试数据的制定 

    • 测试内容优先级的评定 

    • 测试内容的风险评估 

    • 测试流程的制定 

    • 测试标• 准的制定 

    • 测试日程的制定 

    测试的执行 

    • 手动测试: 功能测试、界面测试 、.安全性测试 
    • 自动化测试: 性能测试、压力测试、负载测试 

    测试的小结 

    每个测试阶段的结束都要对当前测试结束时候的软件进行一次评估,即Evaluation。 

    Evaluation包括测试覆盖面一项。 

    测试覆盖面即Test Coverage,包括对功能点的覆盖程度和代码的覆盖程度Defect的跟踪。 

    Defect Density——分布图主要根据Defect的严重性,属于哪个Component,根据这个图可以找到80%Defect的来源地。 

    Defect Aging——主要是描述,Defect从Open到Close的分布情况,有多少个Bug在一定Period之后尚未关闭,或尚未Fix,根据这个图可以显示出是不是有足够的人手来修复Bug。 

    Defect Trend——主要是描述,在很长一段时间内,Bug出现/修复的频率,根据这张图可以显示出软件本身的Design或是Structure是否存在问题。 

    在对MMLD 9进行测试的过程中,发现了以下几个问题: 

    •需求很不明确,导致许多问题模棱两可。 

    •Defect主要集中在多用户Edit同一Data File的时候。 

    •Defect的修复时间延期很大,许多Bug在Open了一个月之后仍然没有修复。 

    •在多用户测试的时候,无法虚拟多用户对同一文件进行Edit。

0