关于软件测试

最近在读软件测试方面的书籍,属于软件测试基础理论知识,大概了解下软件测试方面的知识还是不错的,最起码能了解测试的理论,方法及应用范围,以及那些可以采用工具辅助自动化测试,各种测试方法的特点、测试用例如何设等计,理论的基础让我发现原来测试也是一门学科,其中也存在不少模型,怪不得近年来测试工程师在整个行业走俏,相对整个行业也越来越正规。

近期阅读总结如下

从软件业界来说,可以将软件测试方法分为静态测试与动态测试(静态测试主要针对软件的编程格式、结构等方面进行评估,而动态测试则主要针对功能确认与接口测试、覆盖率分析、性能分析、内存分析等);如果按照规划测试的不同点出发,软件测试方法又可以分为黑盒测试与白盒测试(黑盒测试[Black-box Testing]又称功能测试、数据驱动测试和基于软件需求规格说明的测试,黑盒测试是一种从用户出观点出发的测试,白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,主要基于内部结构来进行测试)。

从软件测试过程的先后次序可以将整个过程分为单元测试、集成测试、确认测试、系统测试、验收测试。

单元测试主要完成模块接口、局部数据结构、路径测试、边界条件、出错处理任务。

集成测试又分为非增量式测试,以一步到位的方法,对各单元测试完毕后连接程序各模块,形成完整的整体来进行测试,另外一种集成测试为增量式测试[自顶向下增量、自底向上增量],不同的测试方法各有优缺点,主要集中在错误暴露点与时间的不同,另外就是针对测试模拟输入(数据)获取的难易度不同;另外在进行集成测试过程中可针对测试修改后进行回归测试,最终达到测试计划预定的标准。

确认测试主要完成确认测试的准则及配置审查的内容,经过确认测试后需要给软件一个结论性的评价(该软件功能、性能及其他要求满足需求规格说明中的规定,认为合格或者是不满足需求规格说明中的规定,如果不满足需要列出不满足的缺陷清单,对于确认测试时出线这样的情况一般很难在交付时间完成问题纠正,这时候需要跟客户进行协商,获取一个解决办法)。

系统测试主要完成恢复测试、安全测试、强度测试、性能测试、正确性测试、可靠性测试、兼容性测试。

验收测试是测试中最后一个环节,主要为完成软件产品验收所做的一些测试,涉及内容有明确项目并规定测试通过的标准、确定测试方法、决定验收测试的组织和资源、指定验收测试计划并进行评审、设计验收测试用例、审查准备工作、执行验收测试、分析结果,给出验收结论。验收测试还包括软件配置及文档资料测试,这部分可以在软件开发过程中并行进行。

黑盒测试技术方法

黑盒测试技术方法主要包括边界值分析法、等价类划分法、因果图分析法、决策表分析法等。

白盒测试技术方法

白盒测试技术方法主要包括结构分析、逻辑覆盖、路径测试等。