标签:
软件测试是为了发现错误而执行程序的过程。
软件测试要经历三个阶段的测试:
1>开发测试:系统的设计人员和程序员
2>发布测试:测试小组对一个系统的完整版本进行测试,然后发布给用户
3>用户测试:用户可能是内部营销组织,决定软件是否可以投放市场/发布版本等;用户也可能是客户正式测试一个系统,已决定是否应该从系统供应处接收或是进一步开发
用户测试包括:
α测试:用户+开发小组
β测试:用户,公司外部展开测试
接受测试:客户
软件开发流程:软件立项→可行性研究→需求分析→概要设计→详细设计→编码实现→单元测试→集成测试→系统测试→验收测试→运行维护
软件测试步骤:获取测试需求→编写测试计划→制定测试方案→开发与设计测试用例→执行测试→提交缺陷报告→测试分析与评审→提交测试总结→准备下一个版本的测试
软件测试的分类:
按照开发阶段划分:
①单元测试:单元测试需要从程序的内部结构出发设计测试用例,多个模块可以平行的独立进行单元测试。
②集成测试:在单元测试的基础之上,将所有模块进行有序的、递增的测试。集成测试是检测程序单元或部件接口之间的关系,逐步集成符合概要设
计要求的部件或整个系统。每个系统提交集成测试时要进行冒烟测试。
冒烟测试又称为版本验证测试。主要是验证软件的基本功能是否正常。当我们拿到一个软件时首先要进行的是冒烟测试,如果冒烟测试不通过那么下面就可以不用测了。比如我们测试搜狗输入法时,它不能正确地安装,那么接下来的功能就可以不用测了。
③系统测试:系统测试是针对软件产品系统进行的测试,主要验证整机系统是否满足了系统需求规格的定义。系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素结合在一起,在实际运行的环境下,对计算机系统进行的测试。系统测试的种类一般有以下几种:
1)恢复测试:就是采取人工干预方式使软件出错,而不能正常工作,来检验系统的恢复能力。比如突然断电。
2)安全测试
3)强度测试
4)性能测试
5)其他的一些测试
冒烟测试和系统测试大多数公司都是一起进行的了,要说区别就是确认测试一般是在模拟环境下,一般是开发环境,系统测试是真实的环境。
④验收测试:按照项目任务书或合同、供需双方约定的验收依据文档进行对整个系统的测试和评审,决定是否接收或拒绝系统。
1)对产品说明书的验证,验证系统是否和产品说明书中定义的一致,虽然前面的测试也验证的规格说明书,但是验收测试对产品说明书的验证时最严格的。如果软件有明确的用户,这时用户将会参与到验收测试中,按合同逐一检查。
2)用户界面和可用性测试,好的界面应符合这7个要素:符合标准和规范、直观性、一致性、灵活性、舒适性、正确性和实用性。
3)兼容性测试:主要是与硬件兼容、软件之间的兼容、数据之间的兼容。
4)可安装和可恢复测试
5)文档测试
按照测试技术划分:
①白盒测试:清楚了解程序结构和处理过程,检查是否所有的结构和路径都是正确的,检查软件内部动作是否按照设计说明的规定正常运行。
优点:白盒测试能发现程序的隐患,如内存泄漏、误差累计问题。
②黑盒测试:完全不考虑程序内部结构和处理过程,通过软件外部表现来发现缺陷和错误,只检查程序是否按照需求规格说明书的规定正常实现。
缺点:即使软件输入和输出都是正确的,也不能说明软件就是正确的,如负负得正,只有白盒测试才能发现真正的原因。
③灰盒测试:介于白盒测试和黑盒测试之间,关注输出对于输入的正确性,同时也关注内部表现,但但不像白盒测试那样细节/完整,只是通过一些表征性的现象、事件来判断内部的运行状态。
④静态测试:对软件中的需求说明书、设计说明书、源程序代码等进行非运行的检查,静态测试包括:走查、代码风格与规则检查、需求确认等。
静态测试既可以手工检查也可以使用自动化工具,如检查代码的Jtest、C++ Test等
⑤动态测试:通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。
按照测试类型分类:
①功能测试:通常采用黑盒测试,测试软件的功能是否符合功能性需求
②性能测试:在正常和负载下的状况
③安全性测试:防止非法入侵
④易用性测试:测试是否易用,主观性比较强,盐根据很多用户的测试反馈信息
⑤兼容性测试:与各种平台的兼容性
标签:
原文地址:http://blog.csdn.net/iamxiaoguizi/article/details/51326244