文章目录
前言
软件测试(英文:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。
一、软件架构的分类?
B/S架构软件(Web)
C/S架构软件(App)
二、软件测试的定义与原则
1.为什么需要软件测试
1、发现被测对象与用户需求之间的差异,即缺陷。
2、通过测试活动发现并解决缺陷,增加人们对软件质量的信心。
3、通过测试活动积累经验,预防缺陷出现,降低产品失败风险。
2.软件测试的定义
通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程
3.软件测试的原则
原则一:尽早进入软件测试
原则二:穷尽测试是不可行的
原则三:测试用例应由测试数据和与之对应的预期输出结果这俩部分组成
原则四:应当对每一个测试结果做全面的检查
三、测试模型的介绍
软件的生命周期模型:
1.螺旋模型
2.W模型
3.V模型
4.瀑布型生命周期
5.迭代模型
6.快速原型模型
1.V模型
用户需求–需求分析–概要设计–详细设计–软件编码–单元测试–集成测试–系统测试–验收测试
优点:
清晰明了,便于控制开发的每一个过程。
缺点:
测试介入的比较晚,对于前期的一些缺陷无从发现和修改。
2.W模型
左V:需求分析–概要设计–详细设计–编码–集成–实施–交付
右V:系统分析–概要设计–详细设计–单元测试–集成测试–系统测试–验收测试
优点:
测试于开发是并行独立进行的。
缺点:
对于需求和设计的测试技术要求很高,实践起来很困难。
四、软件测试的流程
首先是要立项确定项目–产品会出一个产品说明书(PRD)–需求人员编写需求文档–需求评审–开发编写详细设计–测试编写测试用例–测试用例评审–开发进行编码–测试部署环境进行测试–首先进行冒烟测试(主的业务要实现)–接着进行功能测试–出现bug使用禅道进行记录跟踪–开发进行修改–测试进行验证–然后进行回归测试–接着验收测试,验收测试通过–进行上线
五、软件测试的分类
按阶段划分:单元测试、集成测试、系统测试、验收测试。
按是否运行程序划分:静态测试、动态测试。
按是否查看源代码划分:白盒测试、黑盒测试:
功能测试:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试。
性能测试:一般性能测试、稳定性测试、负载测试、压力测试。
其他:回归测试、冒烟测试、随机测试。