软件测试基础

一. 软件测试的定义及分类:

1.软件测试的定义及目的,原则:

              软件测试定义:通过人工或者自动的手段,验证被测物体是否满足需求,这个过程称为测试;

              软件测试目的:通过测试的手段,验证需求文档预防缺陷,降低开发成本;

                                      测试是为了发现程序存在的代码或者业务错误;

                                      测试是为了验证功能是否符合需求;

                                      测试是为了提高用户体验;

              测试原则:测试应尽早的开始;

                                测试应追溯到需求文档;

                                对错误结果应该有一个确认的过程;

                                定制严格的测试计划;

                                二八原则;

                                测试不可能穷举测试;

                                测试的过程中,不断改变测试方法验证缺陷是否被解决;

2. 软件测试的分类:

按照执行阶段:

单元测试--集成测试--系统测试--验收测试(Alpha测试,beta测试)

单元测试:是指对软件中的最小可测试单元进行检查和验证

集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

系统测试:将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际使用环境下,对计算机系统进行一系列的组装测试和确认测试的工作。

 

 

按照技术分类:

黑盒测试 白盒测试 灰盒测试

 

按照被测对象是否运行划分:

动态测试 静态测试(文档检查 代码走查 界面检查)

 

按不同的测试手段:

手工测试 自动化测试

 

按照测试包含的内容划分:

功能测试 界面测试 安全性测试 兼容性测试 性能测试 负载测试 压力测试 冒烟测试 回归测试

 

二. 软件生命周期 软件测试流程

1.软件的生命周期:软件被开发到最终被废弃不用所经历的各个阶段的过程。

生命周期的模型包括瀑布模型 V 模型 敏捷模型

2.软件测试流程:

需求分析

测试计划(测试范围,进度安排,人力物力的安排,整理测试策略制定,风险评估)

测试设计阶段(测试用例)

执行阶段:冒烟测试(主功能的测试)--系统测试--bug 跟踪

测试总结:出测试报告,确认是否可以上线

 

Alpha和 Beta测试的区别:

Alpha 可以理解成公司内部用户模拟真实环境进行测试(内部测试),若Alpha测试发现问题可立刻反馈给测试人员或者开发人员,由开发人员进行分析和处理。

Beta测试可以理解成多个用户在真实环境下进行的测试,通常由外面的用户进行测试,开发和测试不在场无法立即解决(之前微信有个公测版,我们在使用这个版本就是在进行beta测试)alpha测试是在beta 测试之前的,beta测试是正式上线的最后一步测试。

posted @ 2018-07-19 20:52  GoodTester  阅读(193)  评论(0编辑  收藏  举报