第一讲:软件知多少 什么是软件测试:在软件测试中发现程序或者系统中存在的问题,确保软件质量没问题, 主要考验试人员对软件测试的理解以及逻辑思维。 1、需求测试:对需求文档的测试,通过项目人员对需求文档解读和分析。 2.界面测试:对软件最终产品的页面文字,图片排版,颜色,文件描述等进行校验 3.功能测试:一切测试的根本,也称为黑盒测试。对软件所有需要实现的功能进行测试 4.安全性测试:属于专项测试,有专门的安全测试部门或者又第三方安全测试公司进行 5.可靠性测试:可靠包含可用,可用不一定可靠 6可移植性测试:在不同平台,通过编译器稍微编译下就能使用,无序改动太多代码。代码改动越小表示可移植性越高 7.兼容性测试:相同的平台,不同架构。比如安卓手机的不同手机型号以及安卓系统的版本号 8.易用性测试:软件产品是否容易被使用 9.压力测试:在最大峰值情况下持续运行,观察各项资源指标 硬件:主板,cpu,内存条,硬盘,显卡,网卡等 软件:系统,程序(由代码和文档构成),软件部署在硬件上,驱使硬件工作 pc机:个人电脑==》台式机,笔记本电脑 物理机:功能和性能比较强大的电脑,一般用作服务器 便携机:某些特殊领域使用的机器 OS:operating system 操作系统 电脑:windows,mac,linux,Unix 手机:安卓,ios,塞班 Dos命令与图像化界面 Dos命令:windows系统的命令交互界面 客户端与服务器:C/S架构==》通过客户端访问的称为C/S架构 浏览器与服务器:B/S架构==>通过浏览器来访问的称为b/s架构 B/S架构和C/S架构的优缺点: B/S:浏览器访问 优点:无需下载客户端,维护成本相对较低 缺点:传输速度相对较慢,相对安全性较低 C/S:客户端访问 优点:传输速度快,安全性更高,界面功能更加丰富,便捷 缺点:需要下载安装,升级客户端。维护成本高。 项目:在限定的时间和金钱范围内所要达成的一个目标 项目需求:在项目最终完成后,所要实现的具体功能 项目角色: 项目经理:整个项目的负责人PM 开发经理: 开发人员 测试经理:TPM 软件测试工程师:TE 运维:企业服务搭建,网络部署,软件维护 UI设计:负责画界面的高保真图片 产品经理:与客户对接,了解客户的需求,整理需求文档 第二讲:软件生命周期 一.为什么要测试: 软件是由人编写,人都可能会犯错,软件的非正常运行会引发很多问题,严重的会涉及的财产和生命安全 二.什么是软件测试? 软件测试发展历程: 1.证明软件是正确的:==》确保软件做了该做的事情 2.证明软件是错误的:==》确保软件没有做不该做的事情,从异常的角度出发,使测试更加全面,更容易发现问题 3.保证软件质量是符合用户的一系列手段。(成立测试组,测试经理,需求分析,编写测试计划),使测试更具独立性和专业性,不仅仅是发现bug,更多的是预防bug,尽早介入尽早发现问题并解决 三:软件生命周期 定义:软件生存周期,软件从生存到报废的一个过程 大致分为一下6个阶段: 1.问题定义和可行性分析==》现有一个想法,然后看是否可行(从技术,法律,资金等情况分析) 2.需求分析:==》产品需要实现哪些功能,做成什么样子 3.软件设计:根据客户的需求对软件进行设计 4.软件编码:开发编写项目的代码 5.软件测试:测试人员对软件进行测试 6.软件运行和维护:软件发版面向客户 软件生命周期模型: V模型:软件项目的阶段 1.需求分析:表现形式就是通过需求澄清会议最终的产物:需求规格说明书==》简称SRS==》就是修改后最终版的需求文档 2. 概要设计:开发人员根据SRS编写的一份关于项目大概框架的设计说明书,称为:概要设计说明书==》简称HLD 3.详要设计:开发人员根据HLD编写的一份关于项目详细的设计说明书,称为:详要设计说明书==》简称:LLD 4,编码:开发人员编写整个项目的代码 5.单元测试:unit test==》俗称开发自测,开发人员测试自己编写的代码 6.集成测试(IT):测试人员对集成之后的所有接口进行测试 7.系统测试:测试人员对整个软件或者程序的功能进行测试 8.验收测试:UAT α测试:由软件公司的测试人员进行验收测试,开发陪同在场,发现问题,交由开发人员现场解决,再进行验证 β测试:将产品交由客户方进行验收测试,具体验收内容以及参与的人员无法知晓,如果发现问题,客户与开发反馈沟通,再由开发人员解决问题。 实际工作中项目阶段:7个阶段 需求分析--概要设计--详要设计--编码--单元测试--系统集成测试--验收测试 问题:你们项目都有哪些阶段,每个阶段的输入和输出? 输入 输出 需求分析: 项目组所有人员参与需求澄清会议 需求规格说明书SRS 概要设计: SRS HLD 详要设计: HLD LLD 编码: 开发人员编写项目代码 项目代码包(.war .jar zip) 单元测试: 开发人员测试自己的代码 输出单元测试报告 系统集成测试:测试人员测试整个项目的功能 系统集成测试报告 验收测试: 客户或者测试人员进行项目验收 验收测试报告
|