软件测试基础知识

第一章 软件测试概念

1.1团队构成与工作

一、项目经理

协调客户与用户之间的沟通,向各个项目组分配资源与任务

二、产品经理

根据客户产品需求进行需求设计、需求变更,并安排等工作

三、UI设计师

根据客户需求来领导和协调 Web 界面的原型设计和正式设计

四、软件开发工程师

包括:前端开发,后端开发(java,c++,php,python),服务端开发,(数据库管理 )

软件工程师负责完成设计师的设计意图, 根据设计文档编写代码; 根据设计文档编

写单元测试代码,根据测试报告 BUG 记录修改 BUG。

五、软件测试工程师

根据需求对产品设置并执行测试,根据测试提出BUG并记录。

六、实施工程师

负责软件产品安装调试和部署,完成项目相关系统工程工作,客户技术支持,编写使用手册,维护手册

七、运维工程师

负责产品上线后的运行维护工作。

1.2了解测试软件

一、什么是软件测试

使用人工操作或软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

正确概念:

(1)测试是为了发现程序中的错误

(2)成功的测试是发现了至今为止尚未发现的错误

(3)测试并不仅仅是为了找出错误

(4) 没有发现错误的测试也是有价值的

错误概念:

(1)测试是为了证明程序没有错误

(2)软件开发完成后进行软件测试

(3)软件发布后如果发现质量问题,那是软件测试人员的错

(4)软件测试要求不高,随便找个人多都行

(5)软件测试是测试人员的事情,与程序员无关

(6)项目进度吃紧时少做些测试,时间富裕时多做测试

(7)软件测试是没有前途的工作,只有程序员才是软件高手

(8)通过测试达到零缺陷率

二、软件测试目的

把尽可能多的问题在产品交给用户之前发现并改正

确保最终交给用户的产品功能符合用户的需求

确保产品完成了所承诺或公布的功能

确保产品满足性能和效率的要求

确保产品健壮和适应用户环境

建立软件质量的信心,度量和提高被测软件的质量

三、软件测试过程

软件测试基础知识_第1张图片

需求分析=评审=>测试计划(方案)=>测试用例=>执行测试=测试报告

测试需求:需求分析,以软件开发为基础,形成可测试的内容。

测试计划:计划编写(人员、工具、范围的计划)。

测试设计:编写测试用例。

测试记录:对测试过程、结果和数据进行记录。

分析:风险分析。

完毕:测试完成产品交付。

测试总结:根据发现和改正BUG完成情况写出报告并提交。

四、软件测试阶段

SIT(开发阶n段)内部的测试人员

UAT(验证阶段)用户验收产品-第三方测试人员

五、软件测试的原则

软件测试基础知识_第2张图片

缺陷的集群性:28原则(80%的软件缺陷,聚集在20%的软件模块中)

杀虫剂悖论:相同方法重复测试,能效逐渐降低(应更换方法,使用交叉测试法)

穷尽测试是不可能的:软件的bug是无穷的,无法100%测试出来

没有失效不代表系统可用的:测试没有问题并不代表满足客户需求

六、测试人员素质具备

必备:测试计划、测试方案、编写用例、提交bug、跟踪bug,编写测试报告

​ 测试工具的使用

​ 操作系统

​ 编写代码的能力

​ 数据库知识

​ 业务知识、网络知识

辅助:主动沟通,清晰了解掌握需求逻辑,和专业的问题反馈。

​ 胆大心细;相信自己,自己是专业的

​ 不被别人绑架;要有职业标准,也要有自己的态度

​ 对一切都要有怀疑的态度

​ 责任心;站在公司和用户的角度考虑问题。

1.3软件系统架构

一、B/S架构

(Browser/Server,浏览器/服务器模式)

Web端通过Web服器向数据库提取数据

二、C/S架构

client/Server客户端/服务器体系结构)

客户端经过简单处理后直接向数据库提取数据

三、B/S架构和C/S架构区别

1、客户端要求: C/S客户端的计算机电脑配置要求较高。

​ B/S客户端的计算机电脑配置要求较低。

2、软件安装: C/S每一个客户端都必须安装和配置专用的软件。

​ B/S不用安装任何专门的软件,只要有一个浏览器就可以。

3、软件升级和维护 :C/S每一个客户端都要进行升级和维护。

​ B/S客户端不必安装及维护。

4、安全性:C/S相比B/S较为安全

1.4软件测试分类

一、按是否看代码分

黑盒测试:看不见代码,不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试

白盒测试:看得见代码,知道产品内部工作过程,来测试程序结构和运行逻辑。

灰盒测试:综合测试

你可能感兴趣的:(软件测试)