软件测试入门

本文主要讲了软件测试基础的概念和软件测试需要掌握的知识技能。


1.定义

软件测试是在规定的条件下,使用人工或自动化的手段来运行或测试某个系统的过程

2.软件测试流程

标准流程:计划与控制——>分析与设计——>实现与执行——>评估与报告——>结束活动。

常用流程:测试计划——>测试方案——>测试用例——>测试执行——>测试报告。

3.测试经济学

不能一味的追求质量,还要考虑成本。应该在成本和质量之间找一个平衡点。

4.测试心理学

指的是测试的心态,一种是“为了证明系统存在问题”,一种是“为了证明系统不存在问题”。在实际测试的过程中,我们潜意识会将之前测过的部分默认是没有错误的,而实际产品进行版本迭代时,总会“牵一发而动全身”。

5.测试方法

5.1.黑盒测试:在测试过程中只关注输入和输出,应用于集成测试。优点:从产品功能角度测试容易入手,可适用于各阶段测试。缺点:在测试过程中某些代码得不到测试,如果规格说明有误,则无法发现BUG。

5.2.白盒测试:不仅仅关注输入输出,还要关心程序是如何处理的,主要用于单元测试。优点:可构成测试数据使特定程序部分得到测试,有一定的充分性度量手段,可获较多工具支持。缺点:通常不易生成测试数据,无法对未实现规格说明的部分进行测试,工作量大,通常只用于单元测试,有应用局限。

5.3.灰盒测试:灰盒测试用于单元测试系统测试之后的集成测试。

6.静态测试和动态测试

6.1.静态测试:不运行被测试的软件系统,而是采取其他的手段技术。如:代码走读、文档评审、程序分析等。

6.2.动态测试:按照预先设计的步骤和数据运行被测试的系统,在系统测试阶段都属于动态测试。

7.自动化测试

自动化测试是和是手工测试相对应的。不适用测试工具的测试属于手工测试,这是最基本的测试形式。自动化测试需要在适当的时间使已经形式化的手工测试自动化。

8.测试阶段

测试阶段分为单元测试(UT),集成测试(IT),系统测试(ST)和验收测试(AT)四个阶段。单元测试是分别对单元模块进行测试;集成测试是测试各个单元模块之间的数据交换和交互;系统测试相当于集成测试的集成测试;如果是定制或者外包产品,还会进行一次验收测试。

9.软件测试需要掌握的技能

9.1.功能测试

(1)测试用例设计

(2)缺陷分析,缺陷管理,追踪

(3)优化开发流程

9.2.接口测试

(1)工具:Jmeter,postman等。

(2)协议:HTTP协议,8583协议等。

(3)抓包工具:Fiddler,httpwatch

(4)脚本语言:python,java,ruby,go等

(5)接口测试框架

(6)接口测试平台

9.3.自动化测试(GUI自动化)

(1)工具:selenium,UFT,framework关键字自动化测试框架

(2)脚本语言:python,java,ruby,go,groovy,beanshell等

(3)自动化:测试框架开发

(4)CI持续集成

(5)自动化平台的开发flask

9.4.性能测试

(1)工具:loadrunner,Jmeter

(2)脚本语言:groovy,beanshell,C等

(3)性能调优

前端HTTP协议,TSLOW,pagespeed,httpwatch,前端调优23大规则...
web服务器Apache,tomcat,Nginx...
数据库

mysql,orcle,db2...

操作系统Linux。Unix,aix...
负载均衡nginx,kafaka...
微服务dubbo...
数据库缓存redis...
消息队列mq...

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值