- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13讲 应用调试;程序设计风格是指个人编制程序时所表现出来的特点、习惯和逻辑思维等。良好的编程风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。
程序设计风格的内容包括:规范化的程序内部文档、数据结构的详细说明、清晰的语句结构、遵守某一编程规范。;(1)命名规范。标识符、变量、函数名等名称应该按意取名,做到见名知义,如在App Inventor中,退出按钮的名称用“按钮-_退出”或“退出_按钮”命名既可以从名字中知道按钮的功能,也知道了这个名称代表的组件是按钮。;(2)尽量为程序块加上明确的注释。对于较复杂的程序或算法需要有注释文件,并在程序中注明注释文件名,在注释文件中注明程序名。;(3)模块本身要高内聚,模块之间要低耦合。设计时模块内部各元素彼此结合非常紧密,而模块之间相互联系的紧密程度非常低,即模块的功能要单一,不要将几个不同的功能放在一个模块中,这样的模块才具有信息隐蔽和独立性,在修改某一模块时,不会对其他模块产生影响。
(4)数据说明详细。对变量名、过程名、过程参数、复杂的数据结构要有详细的说明。;(5)界面设计规范、美观和清晰。界面设计遵从的原则是:界面简洁朴素,控件摆放整齐,颜色风格统一,基于用户的心里模型,而不是基于工程实现模型。
(6)对复杂的程序分而治之,化繁为简,逐个击破。;(7)输入和输出。编写输入和输出程序时,应考虑的原则:输入操作步骤和输入格式尽量简单;输入数据的合法性、有效性做必要的检查和信息反馈;交互式输入时,提供可用的选择和边界值等。尽量少的让用户输入,输入时尽量多给出参考。自动保存用户的输入成果。
(8)全局导航需要一直存在,最好还能预览其它模块的动态。;(9)不要让用户等待任务完。
(10)效率。;软件测试的目的是为了发现错误而执行程序的过程;
一个好的测试用例能够发现至今尚未发现的错误;一个成功的测试是发现了至今尚未发现的错误的测试。;软件测试应注意以下指导性原则:(1)测试用例应有输入数据和预期的输出两部分组成。(2)测试用例不仅要选??合理的输入数据,还要选择不合理的输入数据。(3)除了检查程序是否做了它应该做的事,还应检查程序是否做了它不应该做的事。(4)长期保留测试用列。(5)对发现错误较多的程序段,应进行更深入的测试。(6)应避免测试自己的程序,可相互之间交叉进行测试。
测试只能证明软件存在错误而不能证明软件没有错误,测试是无法显示潜在的错误和缺陷,继续进一步错误可能还会找到其它错误和缺陷。
;软件测试方法一般分两大类:动态测试和静态测试。而动态测试方法中又根据测试用例的设计方法不同,分为黑盒测试和白盒测试。
;结合软件测试方法和App Inventor的特点,在AI测试中:
(1)测试要覆盖每一条语句。
(2)每个判断条件,每一个程序分支都至少通过一遍。如成绩等级判定,首先在每个成绩段选取一个成绩(95,84,75,67,40),其次,选取每个成绩等级的边界值(90,80,70,60),这样才能保证每个判断条件都能执行到,也对边界数据的正确与否做了有效的测试。;(3)通过连续输入数据测试变量是否进行初始化和使用前是否恢复到最初状态等。如例3.3阶乘计算器1代码;计算第一个阶乘的结果是正确的,但连续计算几个阶乘,就会发现从第二个阶乘开始结果就是错误的。如当第一次输入5的时候正确的计算出了5的阶乘,但当输入10的阶乘计算出现错误,正确的应该是3628800,是什么原因造成了这样的结果?
回到图5.2中的代码,原来计算阶乘的全局变量jc在每次计算之前未被初始化到最初的状态,这是很多初学编程的人容易犯错误,一定要注意。;(4)条件组合覆盖,设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
如在3.12项目:一元二次方程求根测试中,输入数据a,b,c的时候,需要考虑a,b,c的各种组合,首先看a,要考虑a=0和a≠0,当a=0时,不能构成一元二次方程,程序是否能够提醒用户数据的合法性。当a≠0的时候,需要输入a,b,c的组合的至少需要满足b2-4ac等于0,大于0和小于0三种情况。;(5)路径覆盖,设计足够的测试用例,覆盖被测程序中所有可能的路径。
(6)对单循环进行测试的时候,假设n为可允许执行循环的最大次数,设计测试数据的时候,要考虑跳过循环;只执行一次循环;执行m次循环,其中mn;执行n-1次、n次和n+1次循环。对嵌套循环,让外循环处于最小循环计数值,对于内层循环进行单循环测试。;(7)对某些需要保存数据和做初始化设置的应用完成测试后,还需要关闭软件,重新启动进行再次测试,看已有数据和设置是否还在。
(8)输入测试数据的时候,既要考虑合法的数据,还要测试输入不合法的数据时的反映。
(9)找最终用户和其他人员使用你的APP,虚心
您可能关注的文档
- AutoCAD 2010实用教程第5章 文字与表格.ppt
- AutoCAD 2010实用教程第4章 图形编辑.ppt
- AutoCAD 2010实用教程第2章 绘图环境的设置.ppt
- AutoCAD 2010实用教程第1章 AutoCAD 2010操作基础.ppt
- AutoCAD 2010实训教程第一章 AutoCAD 2010中文版基础.ppt
- AutoCAD 2010实训教程第五章 显示控制.ppt
- AutoCAD 2010实训教程第四章 典型图形绘制.ppt
- AutoCAD 2010实训教程第三章 基本图形绘制和编辑.ppt
- AutoCAD 2010实训教程第七章 参数化设计及实用工具.ppt
- AutoCAD 2010实训教程第六章 尺寸引线及公差.ppt
- App Inventor移动应用开发标准教程12_组件-任意组件.pptx
- App Inventor移动应用开发标准教程11_组件-通信连接.pptx
- App Inventor移动应用开发标准教程10_组件-数据存储.pptx
- App Inventor移动应用开发标准教程9_组件-社交应用.pptx
- App Inventor移动应用开发标准教程8_组件-传感器.pptx
- App Inventor移动应用开发标准教程7_组件-绘图动画.pptx
- App Inventor移动应用开发标准教程6_组件-多媒体.pptx
- App Inventor移动应用开发标准教程5_组件-界面布局.pptx
- App Inventor移动应用开发标准教程4_组件-用户界面.pptx
- App Inventor移动应用开发标准教程3_App Inventor编程基础.pptx
文档评论(0)