软件测试基础

软件:

程序(源代码)文档 数据

软件测试:

以手工或者自动化的手段,测软件的源代码,数据,文档 核对与用户预期是否一致

软件不会消亡,但是会升级,不让用户访问(服务器仍然存在)

软件生命周期:(从无到有的过程)

1、市场需求调研

2、可行性研究:钱、人力、时间、市场、范围、风险。。。

3、产品项目立项

4、需求调研开发:从技术上确认是否可行

5、设计编码测试

6、发布运行维护

开发与测试模型:

开发模型:

1、瀑布模型:

计划-需求分析-设计-编码-测试-运行维护

缺点:

1、越往后,发现问题,修复成本高

(需求分析阶段发现问题修复成本最低)

2、软件长什么样在测试阶段才能发现,有风险,可能不满足需求

优点:

1、自上而下每个流程很清晰

2、适合周期特别长,一年的项目,而且要强调早计划

2、原型模型:

demo,低保真(灰色),高保真(彩色)

克服瀑布模型的一个缺点:到测试阶段才看到软件长什么样,在需求阶段就加入原型图

原型图:设计做 现在是专业的角色:交互

引发了一个缺点:限制了开发和设计的想法

适合稳定的项目

3、RUP模型

用例驱动,以体系结构为核心,迭代及增量的软件过程模型

需要有架构师,适合耦合度比较低的项目,已经确定了功能 将不允许变更

4、敏捷模型:

主流的模型,周期非常快

以人为核心,迭代,循序渐进的方法

测试模型:

1、V模型

测试介入过晚,发现问题过晚,修复问题成本高

2、W模型

文档都是测试写

确认:参照用户需求

验证:参照需求文档

测试等级:

针对不同研发阶段的测试目的,测试活动分为:

1、需求测试:

软件中70%-80%的错误是由于需求文档造成的

对需求文档的评审:不一致性 完整性 二义性

需求文档评审会:开发 测试 项目经理 产品

2、组件/单元测试:

开发做,对代码的测试,参照详细文档---白盒测试

3、集成测试

又叫接口测试,开发和测试都做,参照概要文档----灰盒测试

4、系统测试

测试做,参照需求文档-----黑盒测试

测试系统中会有缺陷,--开发改---测试要回归--有一次系统测试---,系统测试需要进行好多次

5、验收测试

全体做,参照用户需求文档

ALpha测试:开发在场,发现问题开发立刻改

Beta测试:公测,开发不在,有问题收集上来统一改

UAT测试:用户可接受度测试

软件测试类型

1、功能测试:参照需求文档

是否有不正确、遗漏或多余的功能

是否满足用户需求和系统设计的隐藏需求

是否对输入做出正确的响应,输出结果能都正确展示

2、性能测试

同时(并发)多个线程处理

压力和负载:同时做,不能分开

压力是个点,负载是过程

页面的性能测试:打开页面的响应速度 2-5-8(S)原则

工具:LoadRunner、JMeter

容量:指的是数据库性能

容量测试:大海捞针难,碗里取针易

3、安全测试

渗透测试

数据保密:刚注册网站,手机号注册,立马给你打电话

权限:管理员、普通用户

用户验证:验证码 密码不可复制

病毒

防攻击

安全日志

SQL注入

跨站攻击

密码加密,账号三次锁定(密码不能简单有多种字符组成:英文 数字 汉字 特殊字符)

4、兼容测试

web:浏览器 谷歌 IE

app:不同手机(android ios) 三星 小米 华为 系统:11 12 13

分辨率:大屏 小屏 曲面屏

不同软件的相同功能 word wps

mysql---SQL server tomcat 4.0---升级到4.1

对杀毒软件的兼容

5、易用行测试

关注:

过分复杂的功能或指令

困难的安装过程,安装测试

错误信息不准确或者过于简单

用户被迫记住太多信息

语法,格式和定义不一致

可靠可移植可修复测试,这三个测试都是带着的

6、

确认测试:

在系统测试过程中会产生缺陷,开发修改,测试再验证这些缺陷有无修复

回归测试:

在系统测试过程中会产生缺陷,开发修改,测试在新版本再验证功能

可以是整个系统的全部功能(完全回归),也可以是某个模块的功能(部分回归)

软件测试方法:

白盒测试:单元测试, 测代码

灰盒测试:集成测试 接口测试, 半代码

黑盒测试:系统测试 不测代码

手工测试、自动化测试

静态测试:需求测试

动态测试:剩下的都是动态测试

探索性测试,发散性测试

软件测试流程

需求分析--测试计划--测试方案--搭建环境--编写用例--等开发转测、冒烟测试,系统测试--测试报告

冒烟测试:一个产品最核心的功能是通过的,冒烟通过率达到98%,如果不通过版本打回

冒烟测试的用例:测试写,就是从刚才的测试用例提取级别最高的用例作为冒烟测试用例

冒烟测试执行者:开发 测试

系统测试

每次系统测试都需要冒烟

系统测试每轮用例的通过率  一次比一次要高很多

bug发现: 1000 300 50

测试结束的标志:

需求上的功能实现了

用例的覆盖率100%

用例的通过率98%

缺陷的遗留率 不超过10个问题,且10个问题不应该有严重的问题

软件质量特性

iso9126:

六大特征:功性易用可靠可移植可修改

iso25010

八大特性

功性兼安易可靠可移植可修改

CMMI

18个过程域

确认 验证 配置CM PPQA PM。。。。组织过程域

软件测试原则:七大原则

1、测试应该尽早介入,早介入,早发现问题,节省成本

2、测试不应该穷尽测试

3、二八法则,8-%的问题存在20%的模块中

4、软件测试是为了寻找缺陷,但是不能保证缺陷

5、杀虫剂原则,测试用例通过发现缺陷,杀虫剂用例,杀的bug

用例基本上三个月一次,当用力发现不了问题时就要更新用例

6、测试依赖特殊的环境

7、软件没有问题是个谬论

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值