版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、易禹 2021-12-14软件测试技术课程组织形式教材:软件测试技术基础教程-理论、方法、面试,人民邮电出版社,作者:刘德宝等著;参考:软件测试简明教程,武汉大学出版社,作者:易禹,廖年冬;预备知识:Java,Eclipse,JSP,C关于我:QQ21375573, QQ邮箱2考核方式3 平时40%: 出勤、上机 考试60%:期中测验、期末考试 关于实验:1. 完成实验指导书要求的内容,包括:操作、理解、编程等;2. 提前完成实验内容可经检查后离开;3. 每次实验中随机抽取 X X 人检查;4. 每次实验课后按实验指导书要求填写Word格式实验报告,统一上交;5. 缺
2、席和进行实验无关操作视作违纪。平时分评分标准4 60分:出席每次实验课,完成实验内容并最终上交实验报告,无违纪行为; 违纪行为每次扣20分; 抽查成绩:优(+40)、良(+20)、中(+10)、不及格(-10)。课时安排5 教学目的 讲述软件测试技术的基本原理、关键技术及其开发和应用,掌握如一些常用的软件测试工具的使用; 学习目标 掌握什么是测试; 掌握测试的目的; 掌握软件生命周期的各个阶段以及相互关系; 初步了解软件生命周期各阶段的具体工作内容; 大致了解软件研发团队的组织形式和研发流程。教学目的和学习目标第一讲:软件测试基础6软件测试演示2021-12-14软件测试并不神秘,快速入门并不
3、难1.手动测试演示2.自动化测试演示3.性能测试演示软件测试,who?8 软件测试是为了发现错误而执行程序,软件测试通过的程序可以认为是基本安全的。 软件测试师的“钱”景(QA): 软件测试一般占整个项目开销的30%到50%! 一般软件企业目前没有软件测试师,全国不到5万! 国家的目标是软件测试师与程序员1:1(目前1:24)! 对软件测试师的要求更高!2021-12-14软件测试学习路线图2021-12-14测试 vs. 调试(Debug) 调试可以看作测试的一部分; 调试的目的比较明确,是为了解决某一个特定问题; 而测试则是比较完整的检查软件是否满足用户需求的一种有计划的行为。 快速排序算
4、法的开发: 调试:跟踪一个特定输入的执行顺序,找出问题; 测试:将可能的输入值分类,生成测试用例集合,执行和分析测试用例。编码工作量大于测试?基于快速排序算法比较什么是软件?11 软件是: 人的智力劳动成果; 人的思维结果; 计算机的逻辑部件,而不是物理部件。数据文档程序硬件 vs.软件12表现形式:有形 无形、运行时才能看出优劣、管理困难;生产方式:软件是逻辑产品、通信的误差;质量要求:精度误差零容忍(印导弹,Meter);维护:硬件更换软件升级。 软件的特点: 逻辑性、(不同硬件间)软件移植、越来越复杂化、成本高昂、人的因素比重大。软件危机的产生13 着硬件水平的不断提高、软件规模扩张,维
5、护软件成为了系统管理员的噩梦!软件的固有特点 软件人员自身的缺陷人们对软件测试目的的认识历程2021-12-14软件测试目的之证明20世纪60年代l测试是证明软件没有问题。现在l获取系统在可接受风险范围内可用的信心;l尝试在非正常情况和条件下的功能和特性;l保证一个工作产品是完整的并且可用或者可被集成。软件测试目的之检测20世纪70年代中期l测试是为了发现错误。现在l发现缺陷、错误和系统不足;l定义系统的能力和局限性;l提供组件、工作产品和系统的质量信息。软件测试目的之预防l澄清系统的规格和性能;l提供预防或减少可能制造错误的信息;l在过程中尽早检测错误;l确认问题和风险,并且提前确认解决这些
6、问题和风险的途径。软件测试的主要工作软件测试工程师一般会承担以下一些具体工作:l检视代码、评审开发文档l进行测试设计、写作测试文档(测试计划、测试方案、测试用例等)l执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正l通过测试度量软件的质量l软件缺陷范例19 范例:公交查询系统(2010年课程设计)p 不能识别“长沙汽车南站”站名;p 对用户输入“东塘北”报错;p 增加站点维护功能;p 与Google Map链接;p . .软件工程20 研究如何系统化、规范化、数量化等工程原则和方法去进行软件开发和维护的学科。 软件工程的4P问题PeoplePeopleProcessProcess
7、ProjectProjectProductProduct软件研发相关要素l 人员l 过程l 工具l 只有合适的人员借助合适的工具经过合适的过程才能研发出高质量的软件。l 工具为人员和过程服务,起辅助作用,起关键作用的是人员和过程。软件项目组人员组成项目组一般由项目经理领导并负责制定项目计划,分配任务。项目组一般有下列人员参与:l分析人员;l设计人员;l开发人员;l测试人员;l配置管理人员;lSQA。常见项目组架构2021-12-14研发组织结构(一般)研发经理美工/页面制作1-2系统架构1开发工程师3-52021-12-14测试组织结构(一般)测试经理测试设计人员1测试工程师3-5自动化性能测
8、试工程师1常用的软件开发方法26n面向数据流的结构化程序开发;n面向数据结构的开发方法;n支持程序开发的形式化方法;n面向对象程序设计。20160222 D软件生命周期的各个阶段 基于瀑布模型的软件生命周期计算器例子计算器例子l研发一个计算器;l支持加、减、乘、除,所有运算都需在一定时间之内完成;l该项目目前不存在任何技术障碍;l需要在3个月之内完成所有开发和测试工作,并推向市场;l具体计划参见项目一级计划。计划工作内容工作内容l确定软件开发总目标;l给出软件的功能、性能、可靠性以及接口等方面的设想;l研究完成该项目的可行性,探讨问题解决方案;l对可供开发使用的资源、成本、可取得的效益和开发进
9、度作出估计;l制定完成开发任务的实施计划。需求分析工作内容工作内容 对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定,哪些需求是可以满足的,并且给予确切的描述,写出软件需求说明书SRS (Software Requirement Specification)。计算器例子计算器例子l 功能需求:十进制加、减、乘、除 八进制加、减、乘、除 二进制加、减、乘、除十六进制加、减、乘、除l性能需求:32位十进制加法需在2秒内完成16位十六进制乘法需在10秒内完成需求分析软件研发的类型不同,需求的来源也不同,需求分析中的“用户”针对的具体对象也不同l针对产品的软件研发 需求来源:市场调研 用户
10、:市场调研人员 特点:自己想研发什么,自己就来研发l针对项目的软件研发 需求来源:客户要求 用户:实际的客户 特点:别人想研发什么,我们帮着研发设计工作内容工作内容 设计是软件工程的技术核心,这个阶段需要完成设计说明书l概要设计(HLD),在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;l详细设计(LLD),对每个模块要完成的工作进行具体的描述。计算器例子计算器例子l 概要设计 整个软件分成六个模块:界面模块、主控模块、加法模块、减法模块、乘法模块、除法模块,主控模块调用后四个模块。 加法模块包含五个函数:加法主函数、十进制加法函数、八进制加法函数、二进制加法函数、十六进制
11、加法函数,主函数调用后四个函数。l详细设计 加法主函数的流程图(或者伪码)如下。编码工作工作内容内容把软件设计转换成计算机可以接受的程序,即写成以某个程序设计语言表示的源程序清单,使用RDBMS工具建立数据库。计算器例子计算器例子用C语言实现详细设计说明书中描述的所有函数。测试工作内容工作内容测试是检验软件是否符合客户需求,达到质量要求,一般由独立的小组执行,测试工作分为:l 单元测试l 集成测试l 系统测试计算器例子计算器例子l 单元测试 参照LLD 对每一个函数进行测试l 集成测试 参照HLD 对函数与函数的集成、模块与模块的集成进行测试l 系统测试 参照SRS 对每一个功能需求、性能需求
12、等进行测试运行和维护 工作内容工作内容 这个阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对它进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。计算器计算器例子例子计算器提供给用户使用,用户在使用过程中如发现问题可通过技术支持人员反映,问题解决后为用户进行软件升级。软件缺陷Defect,Bug35存在于软件(文档、数据、程序)中那些不希望、或不可接受的偏差,而导致软件产生的质量问题。a) 未实现产品说明书要求的功能;b) 出现了产品说明书指明不能出现的错误;c) 实现了未提到的功能;d) 未实现说明书未提及但应该实现的目标;e) 软件难以理解、不易使用、运行
13、缓慢。程序员的职业素养(责任)软件缺陷产生的原因36软件缺陷描述37 准确、详细的描述软件缺陷是软件项目成功的重要保证:1. 确保发现的错误能够被解决;2. 收集缺陷数据、并根据缺陷的发展趋势识别测试过程的阶段(何时能部署?);3. 分析收集的缺陷数据形成过程财富(哪些环节需加强?人员培训)。软件缺陷描述例子38 一个反面例子:输入“长沙汽车南站”站名时提示:该站点不能识别! 一个正面例子:a) 标题:输入不能识别错误b) 级别:严重c) 描述:输入“长沙汽车南站”站名时提示错误,错误提示如图d) 模块:站站查询模块e) .软件缺陷分类39按表现形式Function,Interface,Alg
14、orithm,Documentation,.按严重程度critical,cosmetic,minor,major,.按优先级high,middle,low,. critical和low 的缺陷,minor 和high的缺陷40按在生命周期的阶段Requirement、Design、Architecture、Test、Code 按根源测试策略、工具和方法、团队和人、缺乏通信、.按缺陷的生命周期new/unconfirmed、confirmed、fixed、closed、reopennewconfirmedfixedclosedreopen?unconfirmedconfirmedfixedclo
15、sedreopen任务分配缺陷修正验证通过重新发现问题验证不通过缺陷管理流程41缺陷度量42 按缺陷的数量、类别可以进行多种统计度量,从而为软件开发提供质量保证。例如:缺陷数量变化趋势可以判定测试阶段是否接近尾声。报告缺陷的基本原则43u尽早原则:初期的错误vs.后期错误u有效原则:简短、单一、术语、明确u中立原则:缺陷不可避免、允许缺陷产生u重现原则:确保错误能重现。缺陷管理工具鉴赏-Bugzilla44 一款开源、免费、全球许多组织喜爱的缺陷管理工具:Bugzilla,Mozilla项目组开发和使用。 实例演示/缺陷管理工具工作原理45
16、 一个网络应用程序,提供多用户操作、管理缺陷,分析缺陷报告等功能。Bug DB程序员测试员客户软件工程师缺陷管理工具46 其他常用的还有:Mantis,Trac等。 使用缺陷管理工具的两种模式: 服务端模式:组件服务器,为其他用户提供缺陷管理平台。一般需安装:数据库、网页服务器、工具软件。 客户端模式:访问已有服务器。所需软件:浏览器或者客户端软件。练习471. 下列哪个状态不属于缺陷的生命周期?A. reopen B. confirmed C. cosmetic D. fixed2. 缺陷的表现形式Algorithm代表是?A. 接口B. 语法C. 文档D. 打包483. 下列求平均值的Java程序有哪些缺陷?行1 public int getAverage(int data)行2 int sum;行3 for(int i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道客企业安全培训课件
- 2025心脏手术药物治疗管理指南解读课件
- 返修工作站培训课件
- 中考语文文言文对比阅读(全国)15《记承天寺夜游》对比阅读16组80题(解析版)
- 位危险源辨识试题
- 车险承保实务培训课件
- 木材加工场干燥车间建设方案
- 金属非金属地下矿山支柱工班组试题
- 《滑轮》教案物理科课件
- 2026年生产车间班长年终工作总结范例(二篇)
- 运输管理组组长安全生产岗位责任制模版(2篇)
- 2025届山西省阳泉市阳泉中学高二生物第一学期期末质量检测试题含解析
- 毒理学中的替代测试方法
- DB3502-Z 5026-2017代建工作规程
- 广东省大湾区2023-2024学年高一上学期期末生物试题【含答案解析】
- 第四单元地理信息技术的应用课件 【高效课堂+精研精讲】高中地理鲁教版(2019)必修第一册
- 提高隧道初支平整度合格率
- 2023年版测量结果的计量溯源性要求
- GB 29415-2013耐火电缆槽盒
- 中国古代经济试题
- 软件定义汽车:产业生态创新白皮书
评论
0/150
提交评论