软件测试理论知识
第一章测试基础
软件测试的定义:
使用人工和自动的手段来运行或测试某个系统的过程。其目的是检验它是否满足规定的需求或弄清预期结果与实际结果间的差别。
软件测试的目的:
证明检测预防
证明:
1)获取系统在可接受风险范围内可用的信心
2)尝试在非正常情况和条件下的功能和特性
3)保证一个工作产品是完整的且可用或可被集成的
检测:
1)发现缺陷,错误和系统不足
2)定义系统能力和局限性
3)提供组件、工作产品和系统的质量信息
预防:
1)通过将测试活动提前介入到软件生命周期中,尽早的发现并消除前期研发阶段引入的缺陷,以防止前期缺陷遗留并放大到后续环节
2)通过对发现的缺陷进行分析,出导致这些缺陷产生的流程上的不足,通过改进流程,预防同类缺陷再次产生
软件生命周期:
计划->需求分析->概要设计->详细设计->编码->测试->运行维护
1)计划:
SDP (软件研发计划) UTP(单元测试计划)
SVVP(软件验证与确认计划) ITP (集成测试计划)
STP (系统测试计划)
2)需求分析:
SRS(软件需求规格说明)
根据研发类型,需求来源,则用户针对的具体对象分为两种:针对产品的与针对项目的
3)设计:
HLD(High Level Design 概要设计)
软件测试流程
LLD(Low Level Design 详细设计)
4) 编码:
写成以某个程序设计语言表示的源程序清单,使用RDBMS(Relational Database Management System 关系型数据库管理系统)工具建立数据库。
5) 测试:
检验软件是否符合客户需求,达到质量要求。
按测试阶段分
单元测试(UT )
集成测试(IT )
系统测试(ST )——最先介入,最晚结束
6) 运行维护:
将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对其进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。
软件研发的相关要素:
人员  过程  工具
1) 人员组成
分析人员
设计人员
开发人员
测试人员
配置管理人员(CMO,SCM )
SQA
2) 组架构