软件测试基本知识(1)
1. 基本概念
1. 软件缺陷的定义:
软件未实现产品说明中要求的功能
软件实现了产品说明书中指明不该出现的功能
软件实现了产品说明书未提到的功能
软件未实现产品说明书未提到但应该实现的功能
软件不易使用、难以理解,运行缓慢或者从测试员的角度看:最终用户会认为不好的软件
总之,所有不满足需求或超出需求的都是缺陷。没有不存在缺陷的软件,只有迄今为止尚未发现的软件。
2. 测试的定义:测试就是为了证明程序是有错的,测试就是为了发现问题,借助测试用例,发现预期结果与实际结果之间的不同,对不同点进行分析和比较,做出分析
3. 软件测试员的目标是尽可能早的找出软件缺陷,并确保其难以修复
1. 以最少的人力、物力以及时间找出软件中存在的各种错误和缺陷,保证其得以修复。避免软件发布后,因为潜在的各种错误或缺陷造成商业风险
2. 利用软件测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程中改进的重要输入,避免将来项目和测试中重复同样的错误
3. 采用更高效的测试管理手段,提高软件测试的效率和软件产品的质量。
2. 软件开发生命周期和模型
1. 软件危机最主要的就是软件的质量问题
软件工程主要解决的就是软件质量问题
软件测试是解决软件质量问题的一个重要手段
2. 软件生命周期:项目立项 ----> 需求分析 ----> 设计/编码/测试 ----> 发布 ----> 运维 ----> 淘汰
从需求分析阶段开始,,测试人员就可以介入测试
3. 软件开发模型:
1. 瀑布模型:采用该模型的项目从最初的构思到最终产品经历了一系列步骤。每一个步骤结束时,项目小组组织审查,并决定是否进入下一阶段。
优缺点:1. 每个阶段都要输出指定的文档
2. 只有当前一个阶段完成,才能开展下一个阶段的工作开展
3. 每个阶段都要进行评审,评审通过后,才会进行下一阶段
4. 测试介入阶段比较晚,在编码之后才会进行测试的工作开展
5. 瀑布模型不适合用户需求的变更
6. 开发出来的成果在整个过程的末期才能看到,增加了开发风险
2. 增量模型:该模型就是把待开发的软件系统模块化,把每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件
优缺点:1. 开发不需要一次性将整个软件的产品提交给用户,可以分批次提交
2. 待开发软件允许进行模块化开发,对项目管理人员说需要有全局把控能力
3. 迭代模型:包括产生产品发布的全部开发活动和要使用该发布必须的素有其他元素,强调开发的深入【迭代模型属于增量模型】
优缺点:1. 降低了在一个增量上的开支风险,
2. 降低了产品无法按照既定进度进入市场的风险
3. 加快了整个开发工作的进度
4. 迭代过程这种模型适应于需求变化