由安博测试空间技术中心提供
软件测试英语单词
Acceptance testing : 验收测试
Acceptance Testing:可接受性测试
Accessibility test : 软体适用性测试
actual outcome:实际结果
Ad hoc testing : 随机测试
Algorithm analysis : 算法分析
algorithm:算法
Alpha testing : α测试
analysis:分析
anomaly:异常
application software:应用软件
Application under test (AUT) : 所测试的应用程序
Architecture : 构架
Artifact : 工件
ASQ:自动化软件质量(Automated Software Quality)
Assertion checking : 断言检查
Association : 关联
Audit : 审计
audit trail:审计跟踪
Automated Testing:自动化测试
Backus-Naur Form:BNF范式
baseline:基线
Basic Block:基本块
basis test set:基本测试集
Behaviour : 行为
Bench test : 基准测试
benchmark:标杆/指标/基准
Best practise : 最佳实践
Beta testing : β测试
Black Box Testing:黑盒测试
Blocking bug : 阻碍性错误
Bottom-up testing : 自底向上测试
boundary value coverage:边界值覆盖
boundary value testing:边界值测试
Boundary values : 边界值
Boundry Value Analysis:边界值分析
branch condition combination coverage:分支条件组合覆盖
branch condition combination testing:分支条件组合测试
branch condition coverage:分支条件覆盖
branch condition testing:分支条件测试
branch condition:分支条件
Branch coverage : 分支覆盖
branch outcome:分支结果
branch point:分支点
branch testing:分支测试
branch:分支
Breadth Testing:广度测试
Brute force testing: 强力测试
Buddy test : 合伙测试
Buffer : 缓冲
Bug : 错误
Bug bash : 错误大扫除
bug fix : 错误修正
Bug report : 错误报告
Bug tracking system: 错误跟踪系统
bug:缺陷
Build : 工作版本(内部小版本)
Build Verfication tests(BVTs): 版本验证测试
Build-in : 内置
Capability Maturity Model (CMM): 能力成熟度模型
Capability Maturity Model Integration (CMMI): 能力成熟度模型整合
capture/playback tool:捕获/回放工具
Capture/Replay Tool:捕获/回放工具
CASE:计算机辅助软件工程(computer aided software engineering)
CAST:计算机辅助测试
cause-effect graph:因果图
certification :证明
change control:变更控制
Change Management :变更管理
Change Request :变更请求
Character Set : 字符集
Check In :检入
Check Out :检出
Closeout : 收尾
code audit :代码审计
Code coverage : 代码覆盖
Code Inspection:代码检视
Code page : 代码页
Code rule : 编码
Code sytle : 编码风格
Code Walkthrough:代码走读
code-based testing:基于代码的测试
coding standards:编程规范
Common sense : 常识
Compatibility Testing:兼容性测试
complete path testing :完全路径测试
completeness:完整性
complexity :复杂性
Component testing : 组件测试
Component:组件
computation data use:计算数据使用
computer system security:计算机系统安全性
Concurrency user : 并发用户
Condition coverage : 条件覆盖
condition coverage:条件覆盖
condition outcome:条件结果
condition:条件
configuration control:配置控制
Configuration item : 配置项
configuration management:配置管理
Configuration testing : 配置测试
conformance criterion: 一致性标准
Conformance Testing: 一致性测试
consistency : 一致性
consistency checker: 一致性检查器
Control flow graph : 控制流程图
control flow graph:控制流图
control flow:控制流
conversion testing:转换测试
Core team : 核心小组
corrective maintenance:故障检修
correctness :正确性
coverage :覆盖率
coverage item:覆盖项
crash:崩溃
criticality analysis:关键性分析
criticality:关键性
CRM(change request management): 变更需求管理
Customer-focused mindset : 客户为中心的理念体系
Cyclomatic complexity : 圈复杂度
data corruption:数据污染
data definition C-use pair:数据定义C-use使用对
data definition P-use coverage:数据定义P-use覆盖
data definition P-use pair:数据定义P-use使用对
data definition:数据定义
data definition-use coverage:数据定义使用覆盖
data definition-use pair :数据定义使用对
data definition-use testing:数据定义使用测试
data dictionary:数据字典
Data Flow Analysis : 数据流分析
data flow analysis:数据流分析
data flow coverage:数据流覆盖
data flow diagram:数据流图
data flow testing:数据流测试
data integrity:数据完整性
data use:数据使用
data validation:数据确认
dead code:死代码
Debug : 调试
Debugging:调试
Decision condition:判定条件
Decision coverage : 判定覆盖
decision coverage:判定覆盖
decision outcome:判定结果
decision table:判定表
decision:判定
Defect : 缺陷
defect density : 缺陷密度
Defect Tracking :缺陷跟踪
Deployment : 部署
Depth Testing:深度测试
design for sustainability :可延续性的设计
design of experiments:实验设计
design-based testing:基于设计的测试
Desk checking : 桌前检查
desk checking:桌面检查
Determine Usage Model : 确定应用模型
Determine Potential Risks : 确定潜在风险
diagnostic:诊断
DIF(decimation in frequency) : 按频率抽取
dirty testing:肮脏测试
disaster recovery:灾难恢复
DIT (decimation in time): 按时间抽取
documentation testing :文档测试
domain testing:域测试
domain:域
DTP DETAIL TEST PLAN详细确认测试
Dynamic analysis : 动态分析
dynamic analysis:动态分析
Dynamic Testing:动态测试
embedded software:嵌入式软件
emulator:仿真
End-to-End testing:端到端测试
Enhanced Request :增强请求
entity relationship diagram:实体关系图
Encryption Source Code Base: 加密算法源代码库
Entry criteria : 准入条件
entry point :入口点
Envisioning Phase : 构想阶段
Equivalence class : 等价类
Equivalence Class:等价类
equivalence partition coverage:等价划分覆盖
Equivalence partition testing : 等价划分测试
equivalence partition testing:参考等价划分测试
equivalence partition testing:等价划分测试
Equivalence Partitioning:等价划分
Error : 错误
Error guessing : 错误猜测
error seeding:错误播种/错误插值
error:错误
Event-driven : 事件驱动
Exception handlers : 异常处理器
exception:异常/例外
executable statement:可执行语句
Exhaustive Testing:穷尽测试
exit point:出口点
expected outcome:期望结果
Exploratory testing : 探索性测试
Failure : 失效
Fault : 故障
fault:故障
feasible path:可达路径
feature testing:特性测试
Field testing : 现场测试
FMEA:失效模型效果分析(Failure Modes and Effects Analysis)
FMECA:失效模型效果关键性分析(Failure Modes and Effects Criticality Analysis)
Framework : 框架
FTA:故障树分析(Fault Tree Analysis)
functional decomposition:功能分解
Functional Specification :功能规格说明书
Functional testing : 功能测试
Functional Testing:功能测试
G11N(Globalization) : 全球化
Gap analysis : 差距分析
Garbage characters : 乱码字符
glass box testing:玻璃盒测试
Glass-box testing : 白箱测试或白盒测试
Glossary : 术语表
GUI(Graphical User Interface): 图形用户界面
Hard-coding : 硬编码
Hotfix : 热补丁
I18N(Internationalization): 国际化
Identify Exploratory Tests – 识别探索性测试
IEEE:美国电子与电器工程师学会(Institute of Electrical and Electronic Engineers)
Incident 事故
Incremental testing : 渐增测试
incremental testing:渐增测试
infeasible path:不可达路径
input domain:输入域
Inspection : 审查
inspection:检视
installability testing:可安装性测试
Installing testing : 安装测试
instrumentation:插装
instrumenter:插装器
Integration :集成
Integration testing : 集成测试
interface : 接口
interface analysis:接口分析
interface testing:接口测试
interface:接口
invalid inputs:无效输入
isolation testing:孤立测试
Issue : 问题
Iteration : 迭代
Iterative development: 迭代开发
job control language:工作控制语言
Job:工作
Key concepts : 关键概念
Key Process Area : 关键过程区域
Keyword driven testing : 关键字驱动测试
Kick-off meeting : 动会议
L10N(Localization) : 本地化
Lag time : 延迟时间
LCSAJ:线性代码顺序和跳转(Linear Code Sequence And Jump)
LCSAJ coverage:LCSAJ覆盖
LCSAJ testing:LCSAJ测试
Lead time : 前置时间
Load testing : 负载测试
Load Testing:负载测试
Localizability testing: 本地化能力测试
Localization testing : 本地化测试
logic analysis:逻辑分析
logic-coverage testing:逻辑覆盖测试
Maintainability : 可维护性
maintainability testing:可维护性测试
Maintenance : 维护
Master project schedule :总体项目
Measurement : 度量
Memory leak : 内存泄漏
Migration testing : 迁移测试
Milestone : 里程碑
Mock up : 模型,原型
modified condition/decision coverage:修改条件/判定覆盖
modified condition/decision testing :修改条件/判定测试
modular decomposition:参考模块分解
Module testing : 模块测试
Monkey testing : 跳跃式测试
Monkey Testing:跳跃式测试
mouse over:鼠标在对象之上
mouse leave:鼠标离开对象
MTBF:平均失效间隔实际(mean time between failures)
MTP MAIN TEST PLAN主确认计划
MTTF:平均失效时间 (mean time to failure)
MTTR:平均修复时间(mean time to repair)
multiple condition coverage:多条件覆盖
mutation analysis:变体分析
N/A(Not applicable) : 不适用的
Negative Testing : 逆向测试, 反向测试, 负面测试
negative testing:参考负面测试
Negative Testing:逆向测试/反向测试/负面测试
off by one:缓冲溢出错误
non-functional requirements testing:非功能需求测试
nominal load:额定负载
N-switch coverage:N切换覆盖
N-switch testing:N切换测试
N-transitions:N转换
Off-the-shelf software : 套装软件
operational testing:可操作性测试
output domain:输出域
paper audit:书面审计
Pair Programming : 成对编程
partition testing:分类测试
Path coverage : 路径覆盖
path coverage:路径覆盖
path sensitizing:路径敏感性
path testing:路径测试
path:路径
Peer review : 同行评审
Performance : 性能
Performance indicator: 性能(绩效)指标
Performance testing : 性能测试
Pilot : 试验
Pilot testing : 引导测试
Portability : 可移植性
portability testing:可移植性测试
Positive testing : 正向测试
Postcondition : 后置条件
Precondition : 前提条件
precondition:预置条件
predicate data use:谓词数据使用
predicate:谓词
Priority : 优先权
program instrumenter:程序插装
progressive testing:递进测试
Prototype : 原型
Pseudo code : 伪代码
pseudo-localization testing:伪本地化测试
pseudo-random:伪随机
QC:质量控制(quality control)
Quality assurance(QA): 质量保证
Quality Control(QC) : 质量控制
Race Condition:竞争状态
Rational Unified Process(以下简称RUP):瑞理统一工艺
Recovery testing : 恢复测试
recovery testing:恢复性测试
Refactoring : 重构
regression analysis and testing:回归分析和测试
Regression testing : 回归测试
Release : 发布
Release note : 版本说明
release:发布
Reliability : 可靠性
reliability assessment:可靠性评价
reliability:可靠性
Requirements management tool: 需求管理工具
Requirements-based testing : 基于需求的测试
Return of Investment(ROI): 投资回报率
review:评审
Risk assessment : 风险评估
risk:风险
Robustness : 强健性
Root Cause Analysis(RCA): 根本原因分析
safety critical:严格的安全性
safety:(生命)安全性
Sanity testing : 健全测试
Sanity Testing:理智测试
Schema Repository : 模式库
Screen shot : 抓屏、截图
SDP:软件开发计划(software development plan)
Security testing : 安全性测试
security testing:安全性测试
security.:(信息)安全性
serviceability testing:可服务性测试
Severity : 严重性
Shipment : 发布
simple subpath:简单子路径
Simulation : 模拟
Simulator : 模拟器
SLA(Service level agreement): 服务级别协议
SLA:服务级别协议(service level agreement)
Smoke testing : 冒烟测试
Software development plan(SDP): 软件开发计划
Software development process: 软件开发过程
software development process:软件开发过程
software diversity:软件多样性
software element:软件元素
software engineering environment:软件工程环境
software engineering:软件工程
Software life cycle : 软件生命周期
source code:源代码
source statement:源语句
Specification : 规格说明书
specified input:指定的输入
spiral model :螺旋模型
SQAP SOFTWARE QUALITY ASSURENCE PLAN 软件质量保证计划
SQL:结构化查询语句(structured query language)
Staged Delivery:分布交付
state diagram:状态图
state transition testing :状态转换测试
state transition:状态转换
state:状态
Statement coverage : 语句覆盖
statement testing:语句测试
statement:语句
Static Analysis:静态分析
Static Analyzer:静态分析器
Static Testing:静态测试
statistical testing:统计测试
Stepwise refinement : 逐步优化
storage testing:存储测试
Stress Testing : 压力测试
structural coverage:结构化覆盖
structural test case design:结构化测试用例设计
structural testing:结构化测试
structured basis testing:结构化的基础测试
structured design:结构化设计
structured programming:结构化编程
structured walkthrough:结构化走读
stub:桩
sub-area:子域
Summary: 总结
SVVP SOFTWARE Vevification&Validation PLAN: 软件验证和确认计划
symbolic evaluation:符号评价
symbolic execution:参考符号执行
symbolic execution:符号执行
symbolic trace:符号轨迹
Synchronization : 同步
Syntax testing : 语法分析
system analysis:系统分析
System design : 系统设计
system integration:系统集成
System Testing : 系统测试
TC TEST CASE 测试用例
TCS TEST CASE SPECIFICATION 测试用例规格说明
TDS TEST DESIGN SPECIFICATION 测试设计规格说明书
technical requirements testing:技术需求测试
Test : 测试
test automation:测试自动化
Test case : 测试用例
test case design technique:测试用例设计技术
test case suite:测试用例套
test comparator:测试比较器
test completion criterion:测试完成标准
test coverage:测试覆盖
Test design : 测试设计
Test driver : 测试驱动
test environment:测试环境
test execution technique:测试执行技术
test execution:测试执行
test generator:测试生成器
test harness:测试用具
Test infrastructure : 测试基础建设
test log:测试日志
test measurement technique:测试度量技术
Test Metrics :测试度量
test procedure:测试规程
test records:测试
test report:测试报告
Test scenario : 测试场景
Test Script:测试脚本
Test Specification:测试规格
Test strategy : 测试策略
test suite:测试套
Test target : 测试目标
Test ware : 测试工具
Testability : 可测试性
testability:可测试性
Testing bed : 测试平台
Testing coverage : 测试覆盖
Testing environment : 测试环境
Testing item : 测试项
Testing plan : 测试计划
Testing procedure : 测试过程
Thread testing : 线程测试
time sharing:时间共享
time-boxed : 固定时间
TIR test incident report 测试事故报告
ToolTip:控件提示或说明
top-down testing:自顶向下测试
TPS TEST PEOCESS SPECIFICATION 测试步骤规格说明
Traceability : 可跟踪性
traceability analysis:跟踪性分析
traceability matrix:跟踪矩阵
Trade-off : 平衡
transaction:事务/处理
transaction volume:交易量
transform analysis:事务分析
trojan horse:特洛伊木马
truth table:真值表
TST TEST SUMMARY REPORT 测试总结报告
Tune System : 调试系统
TW TEST WARE :测试件
Unit Testing :单元测试
Usability Testing:可用性测试
Usage scenario : 使用场景
User acceptance Test : 用户验收测试
User database :用户数据库
User interface(UI) : 用户界面
User profile : 用户信息
User scenario : 用户场景
V&V (Verification & Validation) : 验证&确认
validation :确认
verification :验证
version :版本
Virtual user : 虚拟用户
volume testing:容量测试
VSS(visual source safe) :
VTP Verification TEST PLAN验证测试计划
VTR Verification TEST REPORT验证测试报告
Walkthrough : 走读
Waterfall model : 瀑布模型
Web testing : 网站测试
White box testing : 白盒测试
Work breakdown structure (WBS) : 任务分解结构
Zero bug bounce (ZBB) : 零错误反弹
由安博测试空间技术中心提供
一、对软件测试的误解
1. 如果发布出去的软件有质量问题,那是软件测试人员的错.
2. 软件测试技术要求不高,至少比编程容易多了
3. 软件测试随便找一个能力差的人就能做.
4. 软件测试是测试人员的事,与开发人员无关.
5. 设计-实现-测试,软件测试是开发后期的一个阶段
二、如何理解软件测试
软件测试是一种有效的提高软件质量的手段,但即使在投入上有所保证,测试也不能百分为百发现所有质量隐患.况且软件质量并不仅仅是测试出来的.
很多人认为软件测试就是运行一下软件,看看结果对不对.但实际上,如何在有限的投入下,提高软件测试的效率和产出是一件很见功底的事.好的测试人员不仅要掌握各种测试技术,还要具备丰富的编程经验和对BUG的敏感.测试的复杂之处,除了测试技术问题之外,还有测试管理问题.
测试不是可有可无,随心所欲的.规范化的软件开发需要对软件测试早做计划,分配必要的时间,人力和财力等资源,并将其作为项目管理的一个部分加以控制和协调.
开发和测试是软件项目相辅相成的两个过程,人员间的交流,协作和配合是提高整体效率的重要因素.
软件产品开发完毕,再进行测试的观念是有悖于生命周期理论的.软件产品质量问题越晚发现,修复的代价越大.
一些常识和经验之谈
测试能提高软件的质量,但是提高质量不能依赖测试。
测试只能证明缺陷存在,不能证明缺陷不存在。“彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试。我们应当祈祷:软件的缺陷在产品被淘汰之前一直没有机会发作。
测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试。
每个开发人员应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)。
80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错
测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”。
三、软件测试的定义
软件测试是为了发现错误而执行程序的过程
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程.
四、软件测试的对象
软件测试不等于程序测试.软件测试贯穿于软件定义和开发的整个期间.需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象.
软件生存各个阶段间的确认和验证
软件配置:包括软件需求规格说明、软件设计规格说明、源代码 等;
测试配置:包括测试计划、测试用例、测试驱动程序等。实际上,在整个软件工程过程中,测试配置只是软件配置的一个子集。
测试工具:为提高软件测试效率,可使用测试工具支持测试工具。例如:测试数据自动生成程序、测试结果分析程序等。
五、测试的目的
测试是程序的执行过程,目的在于发现错误;
一个好的测试用例在于发现至今未发现的错误;
一个成功的测试是发现了至今的错误的测试.
六、测试的种类
名称
说明
黑盒测试
基于软件需求,而不是基于软件内部设计和程序实现的测试方式。
白盒测试
基于软件内部设计和程序实现的测试方式。
单元测试
主要测试软件模块的源代码。一般由开发人员而非独立测试人员来执行,因为测试者需要懂得该单元的设计与程序实现,测试者可能需要编写额外的测试驱动程序。
集成测试
将一些“构件”集成一起时,测试它们能否正常运行。这里“构件”可以是程序模块、客户机-服务器程序等等。
功能测试
测试软件的功能是否符合功能性需求,通常采用黑盒测试方式。一般由独立测试人员执行。
系统测试
测试软件系统是否符合所有需求,包括功能性需求与非功能性需求。一般由独立测试人员执行,通常采用黑盒测试方式。
回归测试
指错误被修正后或软件功能、环境发生变化后进行的重新测试。回归测试的困难在于不好确定哪些内容应当被重新测试。
验收测试
由客户或最终用户执行,测试软件系统是否符合需求规格说明书。
名称
说明
负载测试
测试软件系统的最大负载,超出此负载软件可能会失常。
压力测试
概念上与负载测试相似,叫法不同。
性能测试
测试软件在各种状况下的性能,如在正常或最大负载下的状况。
易用性测试
测试软件是否易用,主观性比较强。一般要根据很多用户的测试反馈信息,才能评价易用性。
安装与反安装测试
测试软件在“全部、部分、升级”等状况下的安装/反安装过程。
恢复测试
测试该系统从故障中恢复过来的能力。
安全性测试
测试该系统防止非法侵入的能力。
兼容性测试
测试该系统与其它软件硬件兼容的能力。
比较测试
通过与同类产品比较,考察该系统的优点、缺点。
Alpha 测试
一种先期的用户测试,此时系统刚刚开发完成。
Beta测试
一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。
七、测试的分类与比较
测试方式
白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档
黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档
测试阶段
单元测试、集成测试、系统测试、验收测试。是“从小到大”、“由内至外”、“循序渐进”的测试过程,体现了“分而治之”的思想。
单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既要验证“设计”又要验证“需求”。
系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。
开发与测试的 V 型关系
如果软件开发过程采用严格的瀑布模型,那么开发与测试有“V”型的对应关系 。
测试内容
接口与路径测试。
功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试…
测试阶段
主要依据
测试人员、测试方式
主要测试内容
单元测试
系统设计文档
由开发小组执行白盒测试
接口测试、路径测试
集成测试
系统设计文档
需求文档
由开发小组执行白盒测试和黑盒测试
接口测试、路径测试
功能测试、性能测试
系统测试
需求文档
由独立测试小组执行黑盒测试
功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试
验收测试
需求文档
由用户执行黑盒测试
黑盒测试与白盒测试的比较
测试方式
特征
依据
测试人员
测试驱动程序
黑盒测试
只关心软件的外部表现,不关心内部设计与实现。
软件需求
任何人(包括开发人员、独立测试人员和用户)
一般无需编写额外的测试驱动程序
白盒测试
关注软件的内部设计与实现,要跟踪源代码的运行。
设计文档
由开发人员兼任测试人员的角色
需要编写额外的测试驱动程序
问题1:有了“黑盒”测试为什么还要“白盒”测试?
黑盒测试只能观察软件的外部表现,即使软件的输入输出都是正确的,却并不能说明软件就是正确的。因为程序有可能用错误的运算方式得出正确的结果,例如“负负得正,错错得对”,只有白盒测试才能发现真正的原因。
白盒测试能发现程序里的隐患,象内存泄漏、误差累计问题。在这方面,黑盒测试存在严重的不足。
问题2:由于单元测试要写测试驱动程序,非常麻烦,能否等到整个系统全部开发完后,再集中精力进行一次性地单元测试呢?
如果这样做,在开发过程中,缺陷会越积越多并且分布得更广、隐藏得更深,反而导致测试与改错的代价大大增加。最糟糕的是无法估计测试与改错的工作量,使进度失去控制。因此为图眼前省事而省略单元测试或者“偷工减料”,是“得不偿失”的做法。
问题3:如果每个单元都通过了测试,把它们集成一起难道会有什么不妥吗?集成测试是否多此一举?
要把N个单元集成一起肯定靠接口耦合,这时可能会产生在单元测试中无法发现的问题。例如:数据通过不同的接口时可能出错;几个函数关联在一起时可能达不到预期的功能;在某个单元里可以接受的误差可能在集成后被扩大到无法接受的程度。所以集成测试是必要的,不是多此一举。
问题4:在集成测试的时候,已经对一些子系统进行了功能测试、性能测试等等,那么在系统测试时能否跳过相同内容的测试?
不能!因为集成测试是在仿真环境中开展的,那不是真正的目标系统。再者,单元测试和集成测试通常由开发小组执行。根据测试心理学的分析,开发人员测试自己的工作成果虽然是必要的,但不能作为成果已经通过测试的依据。
问题5:既然系统测试与验收测试的内容几乎是相同的,为什么还要验收测试?
首先是“信任”问题。对于合同项目而言,如果测试小组是开发方的人员,客户怎么能够轻易相信“别人”呢? 所以当项目进行系统测试之后,客户再进行验收测试是情理之中的事。否则,那是客户失职。
不论是合同项目还是非合同项目,软件的最终用户各色各样(如受教育程度不同、使用习惯不同等等)。测试小组至多能够模仿小部分用户的行为,但并不具有普遍的代表性。
问题6:能否将系统测试和验收测试“合二为一”?
系统测试不是一会儿就能做完的,比较长时间的用户测试很难组织。用户还有自己的事情要做,他们为什么要为别人测试呢?即使用户愿意做系统测试,他们消耗的时间、花费的金钱大多比测试小组的高。
系统测试时会找出相当多的软件缺陷,软件需要反反复复地改错。如果让用户发现“内幕”,一是丢脸,二是会吓跑买主。所以还是关起门来,先让测试小组做完系统测试的好。