电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

信息系统测试课件信息系统测试第05讲

49页
  • 卖家[上传人]:E****
  • 文档编号:90657230
  • 上传时间:2019-06-14
  • 文档格式:PPT
  • 文档大小:265.50KB
  • / 49 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第3章 软件测试技术,3.1结构化系统测试技术 3.1.1人工测试技术 3.1.2黑盒测试技术 3.1.3白盒测试技术 3.1.4静态分析技术 3.1.5动态测试技术 3.2面向对象系统测试技术 3.2.1面向对象测试基础 3.2.2面向对象测试内容,3.1结构化系统测试技术,3.1.1人工测试技术 人工测试是一种不依赖于计算机的白盒测试技术。 人工测试通过人工手段对代码进行审查和运行,主要包括软件审查、代码审查和代码走查。,3.1.1人工测试技术,早在20世纪70年代Weinberg在计算机程序设计心理学一书中就指出采用人工方法阅读程序的必要性。经验表明,人工测试能相当有效地查找错误。 因此,为了有效的保证软件质量,在一个软件的开发过程中应至少使用一种或多种人工测试技术。,人工测试的主要方法:,1.软件审查(software review) 主要进行文档审查。 2.代码审查(code inspections) 主要进行代码审查。 3.人工走查(walkthroughs) 主要进行代码审查和人工运行程序。,人工测试技术的重要性:,经验表明,使用人工测试方法平均能够发现接近40%的逻辑设

      2、计和编码错误。,人工测试技术的重要性:,由于人工测试技术在检查某些编码错误时,有着特殊的功效,它常常能够找出机器测试不易发现的错误。人工测试至今仍是一种行之有效的测试方法。,1.代码审查(code inspections),代码审查的对象: 源程序代码。 代码审查的方式: 召开代码审查会。,代码审查会,参加人员: 45人 主持人:1人 被审查代码的程序员:12人 其它人员(领域或程序专家):23人 会议时间:23个小时,代码审查的步骤:,制定计划; 预审; 会议准备; 召开代码审查会; 返工; 复审。,1)会议准备,在会议开始之前,组织者把被审查的程序清单和设计规范分发给小组的其他成员,要求他们在会议之前熟悉这些材料。,2)召开会议,1请程序员逐个语句地讲述程序的逻辑结构。其间大家提出问题加以追究,以断定是否存在错误。 2根据常见程序错误检查清单分析程序。 3组织者要确保讨论有效地进行,并使参加者集中精力发现错误,而不是改正错误。,3)返工,1.把已查出的错误清单交给程序员。 2.组织者对问题的修复时间和优先级就应做出安排, 3.程序员根据上述安排返工(修复代码)。,4)复审,在这些错

      3、误得到修复之后,需要重新召开代码审查会或进行单独审查来复审这个程序。,代码审查的目的:,发现的问题主要有三种: 遗漏 功能遗漏。 多余 冗余代码。 错误 数据错误,逻辑错误。,常见程序错误检查清单:,数据引用错误; 数据说明错误; 计算错误; 比较错误; 控制流错误; 接口错误; 输入/输出错误; 其它检查。,1)数据引用错误,l 用了未赋值的变量吗? l 数组下标越界吗? l 有定义未引用问题吗? l 指针运算正确吗? l 字符串越界吗? l 地址或下标运算中有“差1”错误吗?,用了未赋值的变量吗?,Dimension *expression (Input ,数组下标越界吗?,const int LUNITNAME = 10, BUFFSIZE = 256, MAXUNIT = 10; class Input char bufBUFFSIZE; int pos; int last; void skipSpace (); public: int getline (); char getToken (Dimension* ,数组下标越界吗?,char Input: :getToken (

      4、Dimension*,有定义未引用问题吗?,Dimension *expression (Input ,指针运算正确吗?,public: static const char *unitname; Length (double d = 0.0, int plain = 0 ) value = d; virtual Dimension* clone (double v, int plain = 0) return new Length (v, plain); virtual const char* getBase () return ,2)数据说明错误,l 所有变量都被说明了吗? l 缺省属性使用得正确吗? l 数组与字符串的初始化正确吗? l 变量的长度、类型、存贮类指定得正确吗? l 初始化与存贮类一致吗? l 有相似的变量名吗?,所有变量都被说明了吗?,Dimension *term (Input ,缺省属性使用得正确吗?,char uptolow (chat low) char up; /If(low=97 ,3)计算错误,l 有对非算术变量进行运算吗? l 有混合运算吗? l 有

      5、不同长度的变量之间的运算吗? l 运算的中间结果有无上溢或下溢? l 有用零作除数的情况吗? l 变量值是否超过有效范围? l 运算符优先级用得是否正确? l 整数除法运算是否正确?,运算的中间结果有无上溢或下溢? 有用零作除数的情况吗? 整数除法运算是否正确?,Dimension* Time: : operator/ (Dimension* d) if (d-getBase ( ) = = ,4)比较错误,l 有不同类型变量之间的比较吗? l 有混合类型变量的比较吗? l 比较关系正确吗? l 布尔表达式正确吗? l 运算符优先级使用的是否正确? l 能否正确处理布尔表达式?,有不同类型变量之间的比较吗?,char uptolow (chat low) char up; float bottom=97.0,top=122.0; If(low=bottom ,比较关系正确吗?,char uptolow (chat low) char up; /If(low=97 ,5)控制流错误,l 多路转移越界吗? l 每一个循环是否终止? l 程序能否终止? l 由于入口条件的原因,是否有循环不被

      6、执行的情况? l 可能的“循环失败”处理是否正确? l 有“差1”迭代错误吗? l 有非穷举的判断吗?,每一个循环是否终止?, int Count =0; for (;) buf =getline(); count+; if(count=100) exit(1); ,6)接口错误,l 实参与形参的个数是否相同? l 实参与形参的属性是否匹配? l 实参与形参的单位是否匹配? l 调用库函数所用的参数的个数、属性和次序是否正确? l 引用了与当前入口无关的参数吗? l 只读变量被修改了吗? l 全程变量在各模块中定义一致吗?,实参与形参的个数是否相同?,定义: int max(int i,int j) If(Ij)return i; else return j; 引用: Result=Max(10,20,300); ,7)输入/输出错误,l 文件属性是否正确? l 文件打开是否正确? l 格式说明与I/O语句是否一致? l 缓冲区大小与记录大小是否匹配? l 使用了未打开的文件吗? l 文件结束条件处理了吗? l I/O错误处理了吗?,文件属性是否正确?,#include main()

      7、( char c; /FILE *fp; int fd; /fp = fopen(“my_file.txt”,”r”); fd = open(“my_file.txt”,”r”); ,文件打开是否正确?,#include main() ( char c; FILE *fp; While(fp = fopen(“my_file.txt”,”r”)!=NULL); ,8)其它检查,l 是否遗漏了功能? l 有错误警告和提示信息吗?,2.人工走查(walkthroughs),人工走查和代码审查的区别在于,人工走查要通过人工的方式模拟运行程序,并检查程序运行的结果与预期结果的差异。,2.人工走查(walkthroughs),代码走查的对象: 源程序代码。 代码走查的方式: 召开代码走查会。,人工走查会,参加人员: 45人 主持人:1人 被审查代码的程序员:12人 测试员:1人 其它人员(领域或程序专家):12人 会议时间:23个小时,人工走查的步骤:,制定计划; 预审; 会议准备; 召开代码走查会; 返工; 复审。,1)会议准备,在会议开始之前,组织者把被审查的程序清单和设计规范分发给小组的其

      8、他成员,要求他们在会议之前熟悉这些材料。,2)召开会议,1请程序员逐个语句地讲述程序的逻辑结构。其间大家提出问题加以追究,以断定是否存在错误。 2根据常见程序错误检查清单分析程序。 3. 由测试员根据程序员的说明,对原程序进行人工运行,并与其他与会者一起讨论和比较结果。 4组织者要确保讨论有效地进行,并使参加者集中精力发现错误,而不是改正错误。,3)返工,1.把已查出的错误清单交给程序员。 2.组织者对问题的修复时间和优先级就应做出安排, 3.程序员根据上述安排返工(修复代码)。,4)复审,在这些错误得到修复之后,需要重新召开代码审查会或进行单独审查来复审这个程序。,人工走查的目的:,通过人工模拟运行程序的方式,检查程序运行结果与预期结果的差别,试图发现程序中潜在的错误或缺陷。,3.代码审查和人工走查的区别,相同之处: 1.代码审查和人工走查技术都需要召开一个审查会,在会中由一组人员来阅读程序。 2.两者也都要求参加者作一些预备工作。 3.会议的目的是发现错误,但不寻找纠错的方法。,3.代码审查和人工走查的区别,不同之处: 代码审查只需人工阅读程序。 人工走查除人工阅读程序外,还要人工运行程序,比较预期结果与实际结果的区别。,本讲到此结束,谢谢!,

      《信息系统测试课件信息系统测试第05讲》由会员E****分享,可在线阅读,更多相关《信息系统测试课件信息系统测试第05讲》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.