灰盒测试( 二 )


灰盒测试

文章插图
灰盒测试四、质量也代表着它符合客户的需要(Quality also means“meet customer needs”) 。作为软体测试这个行业 , 最重要的一件事就是从客户的需求出发 , 从客户的角度去看产品 , 客户会怎幺去使用这个产品 , 使用过程中会遇到什幺样的问题 。只有这些问题都解决了 , 软体产品的质量才可以说是上去了 。任务测试任务1、寻找Bug;2、避免软体开发过程中的缺陷;3、衡量软体的品质;4、关注用户的需求 。目标1、确保软体的质量;2、提高软体质量功能 。确认标準标準通过综合测试之后 , 软体已完全组装起来 , 接口方面的错误也已排除 , 软体测试的最后一步确认测试即可开始 。确认测试应检查软体能否按契约要求进行工作 , 即是否满足软体需求说明书中的确认标準 。1、确认测试标準实现软体确认要通过一系列墨盒测试 。确认测试同样需要制订测试计画和过程 , 测试计画应规定测试的种类和测试进度 , 测试过程则定义一些特殊的测试用例 , 旨在说明软体与需求是否一致 。无是计画还是过程 , 都应该着重考虑软体是否满足契约规定的所有功能和性能 , 文档资料是否完整、準确人机界面和其他方面(例如 , 可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意 。确认测试的结果有两种可能 , 一种是功能和性能指标满足软体需求说明的要求 , 用户可以接受;另一种是软体不满足软体需求说明的要求 , 用户无法接受 。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正 , 因此必须与用户协商 , 寻求一个妥善解决问题的方法 。
灰盒测试

文章插图
灰盒测试2、配置複审确认测试的另一个重要环节是配置複审 。複审的目的在于保证软体配置齐全、分类有序 , 并且包括软体维护所必须的细节 。系统测试系统测试应该由若干个不同测试组成 , 目的是充分运行系统 , 验证系统各部件是否都能正常工作并完成所赋予的任务 。下面简单讨论几类系统测试:1、恢複测试恢複测试主要检查系统的容错能力 。当系统出错时 , 能否在指定时间间隔内修正错误并重新启动系统 。恢複测试首先要採用各种办法强迫系统失败 , 然后验证系统是否能儘快恢复 。对于自动恢复需验证重新初始化(reinitialization)、检查点(check pointing mechanisms)、数据恢复(data recovery)和重新启动(restart)等机制的正确性;对于人工干预的恢复系统 , 还需估测平均修复时间 , 确定其是否在可接受的範围内 。2、安全测试安全测试检查系统对非法侵入的防範能力 。安全测试期间 , 测试人员假扮非法入侵者 , 採用各种办法试图突破防线 。例如 , ①想方设法截取或破译口令;②专门定做软体破坏系统的保护机制;③故意导致系统失败 , 企图趁恢复之机非法进入;④试图通过浏览非保密数据 , 推导所需信息 , 等等 。理论上讲 , 只要有足够的时间和资源 , 没有不可进入的系统 。因此系统安全设计的準则是 , 使非法侵入的代价超过被保护信息的价值 。此时非法侵入者已无利可图 。3、强度测试强度测试检查程式对异常情况的抵抗能力 。强度测试总是迫使系统在异常的资源配置下运行 。例如 , ①当中断的正常频率为每秒一至两个时 , 运行每秒产生十个中断的测试用例;②定量地增长数据输入率 , 检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;④运行可能导致虚存作业系统崩溃或磁碟数据剧烈抖动的测试用例等等 。4、性能测试对于那些实时和嵌入式系统 , 软体部分即使满足功能要求 , 也未必能够满足性能要求 , 虽然从单元测试起 , 每一测试步骤都包含性能测试 , 但只有当系统真正集成之后 , 在真实环境中才能全面、可靠地测试运行性能系统性能测试是为了完成这一任务 。性能测试有时与强度测试相结合 , 经常需要其他软硬体的配套支持 。原则对象原则软体测试从不同的角度出发会派生出不同的测试原则 , 从用户的角度出发 , 是希望能看到一个正常工作的软体 。从测试人员的角度 , 就是希望通过软体测试能充分暴露软体中存在的问题和缺陷 ,  , 从开发者的角度出发 , 就是希望测试能表明软体产品不存在错误 , 已经正确地实现了用户的需求 , 确立人们对软体质量的信心 。为了达到上述的原则 , 那幺需要注意以下几点:1、应当把“儘早和不断的测试”作为开发者的座右铭2、程式设计师应该避免检查自己的程式 , 测试工作应该由独立的专业的软体测试机构来完成 。