什么是软件测试?
软件测试的定义:在一定条件下对软件进行操作,发现软件的问题,提高软件的质量。

 软件测试在开发中的有着重要地位。软件测试在各阶段的完成相应的任务,需求测试,架构测试,详细测试等。随着测试的发展,测试技术有了新的支持和扩充CMMI,其改进了各个过程提供了单一的集成框架,提高了测试效率。
CMMI对软件测试的扩充:
- 从对软件的测试活动扩展为对软件测试和开发的度量;
 - 事后测试发展为全过程的测试;
 - 测试于开发为并行过程。
 
==测试用例:==是测试过程中不可缺少的数据,其为执行条件和预期结果的集合,用于评判软件的质量的关键数据。测试用例设计的好坏直接关系到测试结果的好坏。因此需要对测试用例进行评价。
测试用例的评价标准:
- 测试用例目标是否明确;
 - 设计思路是否正确;
 - 设计层次是否清晰,结构是否合理。
 
测试用例的基本原则
- 测试用例的代表性;(正常数据,错误数据,边界数据)
 - 测试结果的可判定性;(输入于输出的结果,应根据模块功能可预判)
 - 测试结果的可再现性。(对于相同的输入,应该有相同的映射关系)
 
测试环境:测试环境简单书就是软件运行的平台。
测试环境=软件(dbms,中间件,web服务器)+ 硬件 + 网络 + 历史数据
测试的过程:测试人员根据需求说明书,概要设计说明书依据等价划分,边界值测试对软件质量和功能评估。 
 
软件测试原理
软件测试原则:
- 所有测试都应追溯到用户需求;
 - 尽早测试;
 - 测试的“二八定律”;(测试发现的80%的错误可能出现在20%模块)
 - 测试应有小到大逐渐深入;
 - 测试中穷举法是不可能的;
 - 测试由独立的三方完成。(开发人员不容易发现自己的错误)
 
软件测试的分类:
- 按照测试阶段分类:
 

- 按照是否需要执行被测试软件
 

- 按照是否需要查看代码
 

- 其他测试
 
人工测试:测试用例的设计与结果的分析又人工完成。
 自动测试:由自动化测试工具或者自动化测试脚本来进行的测试。
 冒烟测试:在测试时发现了一个缺陷,由开发人员修复这个缺陷,针对次问题进行专门的测试。
 随机测试:根据需求说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方法。
软件测试模型
V模型

 W模型

 H模型

X模型
 



















