Part 1 Management
Softwareengeering = Technology + Management
现代软件测试思想:全生命周期的测试思想.
软件系统的规模的急剧增大--->国际协作模式,联合开发,
软件测试管理:softwaretest 团队组织管理,软件测试计划管理,软件缺陷跟踪管理,软件测试资源管理。
软件缺陷是软件与生具来的特征,是影响软件质量的重要和关键的因素之一,发现和排除缺陷是软件生命周期重要的工作之一。缺陷的密度是靠经验来估计的。
缺陷管理工具:
开源Bug追踪管理的工具:Bugzilla(Mozilla出品),BugOnline,Bugzero,Bugtracker,BugFree(借鉴微软的研发流程和Bug管理理念,PHP+MySQL)
软件测试管理工具:TestManager,TestDirector,TestRunner(与Bugzilla集成的一款管理工具),TestLink—优秀的开源测试管理软件,可以和更多缺陷管理软件进行集成(Bugzilla,Mattis)。Sourceforge的开源项目之一
TestLink应用环境:LAMP(Linux+Apache+MySQL+PHP)
Part2 静态分析篇
程序的静态分析是在不执行程序的情况下地其进行分析的技术,简称静态分析。静态分析的输入:程序源代码,目标代码。
静态分析工具扫描测试程序的正文,对程序的数据流和控制流进行分析,然后给出分析报告。通常采用以下方法进行源程序的静态分析。
1.生成各种引用表
直接从表中查出说明/使用错误等,如循环层次表,变量交叉引用表,标号交叉引用表等。
为用户提供辅助信息,如子程序(宏,函数)引用表,等价(变量)表,常熟表等。
2.编程规范检查
检查分析程序中违反编程标准的错误,如模块大小,模块结构,注释的约定,某些语句形式的使用,以及文档编制的约定等。
3.静态错误分析
静态错误分析主要用于确定源程序中是否存在某类错误或”危险”结构。
类型和单位分析
引用分析:使用最广泛的静态错误分析方法就是发现引用异常---异常探测工具
表达式分析:对表达式进行分析,以发现并纠正表达式中出现的错误
接口分析:接口的静态错误分析—检查过程及函数过程之间接口的一致性。检查形参和实参在类,数量,维度,顺序,使用上的一致性,全局变量和公共数据区在使用上的一致性
4.静态特性的统计功能
程序的统计信息,各种类型的语句出现的次数等等
错误预测和程序复杂度计算
静态分析工具可以保证代码的质量,发现并警告潜在的Bug。
独立的静态分析工具C的lint,Smalltalk的lint