一、软件测试工程师所需要具备的能力
1、问题的分析和解决能力 2、面向客户的创新 3、精湛的技术 4、项目管理
5、对质量的执著追求 6、战略远见 7、自信 8、冲击力和影响力 9、跨界合作
10、人际意识
在微软,软件测试和软件开发人员的比例是一比一。
二、传统的软件工程模型
1、瀑布模式
2、螺旋模式
3、敏捷开发模式
特征为:频繁而短暂的迭代;强调面对面的交流和协作;对产品要求变化的适应能力;贯穿始终的质量责任制(单元测试广泛被开发人员所用,使用测试驱动的开发方法)
4、里程碑模式
三、软件测试用例设计的实用方法
1、使用测试模式
测试模式共享的常用形式是模板。模板包含以下几个属性:名称、问题、分析、设计、预言、用例、缺陷和局限、相关的模式
2、估计测试时间
测试时间估计的因素:属性、历史数据、复杂度、商业目标、一致性和服从性。
3、测试策略属性的实例
属性、介绍、需求规格、关键情景、测试方法、可交付使用的测试、培训
4、思考可测试性
简单、可见、控制、知识SOCK
5、测试设计规格说明
测试用例设计中需要考虑到的因素
黑盒测试、白盒测试和灰盒测试
探索性测试、结对测试(一人引导测试、一人执行操作)
6、功能性测试方法
等价类划分、边界值分析
结构测试(白盒测试的一种,包括块覆盖和语句覆盖)
块覆盖:测量无分支的连续语句组的数量
语句覆盖:测量一个程序在测试过程中被执行过的语句的数量。
条件测试:当一个条件语句包含两个或两个以上布尔子表达式。
基础路径测试(测试函数中的循环结构;圈复杂度)
7、用代码复杂度分析风险(预测那个区域存在更多的风险)
(1)计算代码行数 (2)回路复杂度 (3)计算复杂度最常用的方法是根据源代码创建控制流程图,然后基于此图计算出结果。
四、测试工具和系统
1、缺陷和测试用例管理
2、 缺陷报告
包括属性、标题、说明、状态、版本号、功能区、重现步骤、分配、严重性、客户影响、环境、决断
3、缺陷会审
必须修正、应修正、有时间修正
4、数据使用
度量:修复的缺陷/所有解决了的缺陷;每种语言总计缺陷;缺陷发现率;错误修正率;每个代码区的缺陷数;每个功能区发现的缺陷;不同严重性的缺陷;哪里发现;如何发现;缺陷产生时候;缺陷重新激活率;每个测试活动发现的缺陷;平均解决缺陷的时间、平均关闭缺陷的时间
5、测试用例管理
测试用例描述:测试目的、初始条件和背景、步骤、预期结果、备注
6、测试自动化
考虑因素:投入、测试的生命周期、价值、切入点、准确性