测试工作会用到哪些测试框架是什么呢?

更新分享 2019 年最新基于Python的测试开发學习路线和导图希望对目前正在考虑和已经踏入软件测试学习行列的朋友们有所帮助。

分享之前允许我先发个牢骚,经常看到有人在講软件测试简单我就呵呵了,不懂就别乱下结论真正能把软件测试给做好做精通的没几个。还有就是不是所有的测试人员都叫软件測试工程师!

测试开发学习路线图,禁止盗用

第一阶段:专业基础课程

1. 熟练掌握IT核心技术:编程,数据库操作系统,版本控制

2. 能够熟练运用所学技术搭建各类服务器环境。

3. 深入理解软件研发过程各种疑难杂症及处理手段

4. 掌握Python编程技术并熟练运用Python进行程序设计。

1、Web页媔元素布局,CSS样式盒模型,JavaScript程序设计函数,基础算法正则表达式。

2、数据库知识范式,MySQL配置命令,建库建表数据的增删改查,约束视图,存储过程函数,触发器事务,游标建模工具深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为软件测試和测试开发打下基础

3、Linux安装配置,文件目录操作VI命令,管理用户与权限,环境部署Shell编程Linux作为一个主流的服务器操作系统,是每┅个测试开发工程师必须掌握的重点技术并且能够熟练运用。

4、Python编程基础语法规则,函数数据类型,PDBC培养扎实的Python编程基本功,同時对Python核心对象编程有熟练的运用

5、Python面向对象,异常处理文件IO,多线程网络编程,PyQT界面开发深入理解面向对象编程,异常处理机制多线程原理,网络协议知识并熟练运用于项目中。

第二阶段:专业核心课程

1. 熟练应用所学知识完成一个标准的软件测试项目

2. 熟练运鼡Python完成GUI测试,接口测试和性能测试开发

3. 对测试开发技术体系和实现原理有深入的理解。

4. 灵活运用测试开发技术解决项目中的各种问题

1、软件工程,软件质量系统测试流程,方法专业术语,测试用例设计禅道管理工具,测试报告缺陷管理理解软件工程的各类实际問题,理解系统测试的理论、方法与过程熟练运用测试用例设计方法高效设计测试用例。

2、测试需求分析测试方案设计,测试用例设計测试项目实施,缺陷报告与测试报告深入理解系统测试各个过程和关键环节,熟练完成系统测试项目

3、SikuliX框架,UIAutomation框架Selenium WebDriver框架,基础框架Android应用,Monkey测试Appium移动端测试框架是什么,UIAutomator2移动端测试框架是什么综合运用各类应用操作平台完成各种自动化测试框架是什么的学习囷应用,深入理解GUI自动化测试技术及相应框架的测试开发

4、Python单元测试框架是什么,网络通信协议HTTP与HTTPS协议,WebService与WebSocket协议Python的接口测试库,PostMan与SoapUI接口测试工具通过对代码级接口测试和协议级接口测试的测试开发实战灵活运用Python开发接口测试脚本,熟练运用各类接口测试工具

5、性能测试原理,指标体系场景设计,实施过程JMeter工具应用,BeanShell脚本开发Python+Locust性能测试框架是什么深入理解性能测试技术体系和方法论,熟练运鼡JMeter性能测试工具和Locust性能测试框架是什么实施对任意系统的性能测试

第三阶段:综合实战项目

1. 将软件测试和测试开发技术灵活运用于项目Φ。

2. 具备较强的测试开发能力独立完成测试开发项目。

3. 综合运用软件测试技术满足企业中高级人才需求。

4. 对所学技术有深入的理解并具备独立解决问题的能力

1、测试需求分析,同行评审测试计划,测试方案测试用例,配置管理持续集成。通过对大型企业级应用系统的测试项目实战强化理解系统测试项目的实施过程与技术细节。

2、接口测试设计与实施回归测试,冒烟测试安全性测试,RobotFramework框架應用UI自动化实战将各类自动化测试技术结合项目实战演练,强化对自动化测试技术的运用同时掌握更多的测试框架是什么。

3、性能测試项目实战LoadRunner性能测试工具,总结通过综合项目实战将全套测试技术融入到项目中,强化学习效果和项目经验

4、Python原生测试框架是什么開发,包括MonkeyUI,图像识别云测试平台,HTML测试报告持续集成,KDT关键字驱动框架开发等原生技术实现通过大量的Python原生代码开发深入理解洎动化测试开发技术的底层实现原理,完全抛弃对工具的依赖做到真正的测试开发技术。

5、基于测试框架是什么的设计思路和实现手段自主实现一套测试框架是什么能够独立完成一套自动化测试框架是什么,并能够直接用于实际项目中

6、持续集成与Jenkins,安全性测试原理與工具Python爬虫开发与Scrapy框架,提升软件测试其它类技术增强知识面,提升竞争力助力职业发展。

1、算法进阶图像处理,视频处理加密解密,压缩算法

2、UML统一建模语言、五种图、类图、类图详解、用例图、时序图。

3、Dubbo分布式开发框架Oracle关系型数据库管理系统,MongoDB非关系型数据库管理系统

6、OpenCV图像处理框架、TensorFlow深度学习框架,Lucene全文搜索引擎与中文分词框架Ik-Analyzer视频处理算法与框架等。

对应每个阶段和知识点的免费学习视频正在收集整理中敬请期待后续分享更新……

作为一名优秀的软件测试人员,除了应该具备以上过硬的专业知识和技能之外还应该具备哪些呢?

1.首先必须一定要具备的就是认真、负责、严谨、耐心的态度因为软件测试工程师吃的就是这口饭,所以必须对你所测试的产品负责宁可错杀一千,也不可放过一个虽然不能做到完全没有Bug,但一定要尽自己最大的努力保证产品质量

2.不得不再次强調要有过硬的技术本领,技术是为测试服务的无论是测试理论、测试工具、开发知识、数据库、操作系统、网络知识、你都必须精通一門,知晓其它当然这个做到比较难,什么都会很难再者多了之后就不会精,什么都会也等于什么都不会至于最后你选择深度还是广喥,都由你自己把控

3.光有技术,没有业务再好的技术也很难使上劲,熟练的业务知识会帮助你发现更多的缺陷进而更好的保证好产品的质量。不懂产品的工程师不是好工程师测试工程师需要训练自己的用户思维、用户视角,把自己当作真正的用户去感受产品同时伱还可以收集产品数据来做分析,通过数据再量化产品甚至你还要去研究竞品的相关情况,知己知彼方能百战不殆

4.沟通能力超级重要。一个优秀的软件测试人员除了经常要与开发打交道外还需要与产品、运维、售前、售后、客服等不同的人打交道。所以如何更准确、哽简洁、更严谨的描述Bug如何让开发人员接受你发现的Bug,如何让其他人员理解你的想法等都需要沟通所以良好的沟通能力显的尤为重要。

5.缜密的逻辑思维能力测试人员不仅仅只是发现问题,找出Bug更重要的是要去寻找Bug产生的真正原因,精准的找到问题发生的源头以便協助开发人员更好更快的彻底解决Bug。这个比较考验你思维的灵敏度和推理能力其实测试人员和刑侦有一些点类似,除了要求有缜密的逻輯思维能力有时候还需要具备逆向反推能力。

6.测试虽然不像开发那样创造产品但测试需要保证产品各方面的质量,让用户使用产品时覺得舒服、方便所以大多数测试工程师都需要有一颗追求完美的心。

未来软件测试将从繁复的手工操作中解放出来在敏捷开发的基础仩,一个测试能够做好的真正价将不在是测试执行而在于测试分析和设计,比如自动化测试工具的使用uiautomatorviewer、TestBird等,将手工操作逐渐淘汰提高测试效率,这才是测试行业未来发展的趋势和净化的方向

你现在还在校,一切来得及平时多看书和视频,在百度传课、腾讯课堂、网易云课堂、哔哩哔哩等学习平台搜索些免费学习资源(基础的课程都是不收费的多的是这类资源),学习的同时注意实操切记,切记切记,不要纸上谈兵另外,加一些技术交流群跟人家多请教嘴甜一点,相信毕业之际找个实习工作应该不成问题加油!

}

Jest是一套完备的测试框架是什么方案由Facebook开发并开源,它致力于提供最佳的开发体验为了更好地了解Jest,我们将通过实战方式来揭开它神秘的面纱!

首先新建一个文件夹並进入,执行以下命令(文件夹命名建议使用英文):

为了让npm识别到Jest测试命令我们需要添加以下脚本在ponent{

Jest会在源代码文件中查找以.spec、.test结尾嘚文件,或者位于__tests__folder文件夹下的文件;不过也可以自己进行配置

我们先创建button.spec.js文件,并在其中编写第一条测试:

其中test函数接受两个参数,苐一个用于描述本条测试第二个就是包含实际测试代码函数。另外可以用expect函数对某个对象进行预测,它还可以链式调用其他方法如toBe,以检查传给expect的对象和传给toBe的对象是否相同

你应该可以看到以下结果:

控制台给出的是PASS,说明我们可以编写真正的测试了

接下来我们想要测试的是,传入一些props时组件能够正确渲染并且事件处理器可以按照预期工作。

测试react组件的方式一般有两种:

  • 将组件挂载到独立的DOM中

苐一种方式比较简单也较好理解,我们先介绍它浅渲染允许你按一级深度渲染组件,然后根据它返回的结果进行一些预测渲染一级罙度是指将组件隔离出来测试,即使其中包含一些很复杂的子组件它们也不会被渲染,就算它们发生变化或者加载失败也不影响测试結果。

在前面代码的基础上进行编写添加测试代码块:

先创建renderer变量,然后传入文本来渲染button组件最后拿到渲染结果赋给button变量。上述代码表示我们想要测试给定的文本是否被渲染为button的子元素

执行npm test我们看到以下内容:

测试没有通过这和预期一样,因为此时组件还没有实现咜只是返回一个div元素,接下来我们对button.js文件按照测试要求进行修改:

再次运行npm test就会看到测试通过:

我们采用浅渲染的方式成功地通过了第┅条组件测试。那么我们想要测试浏览器事件该怎么做呢

想测试浏览器事件就需要在浏览器环境中,将组件渲染到独立的DOM中不过Jest提供叻一个特殊的DOM结构,我们可以使用控制台将组件渲染进去

这条测试的目的是,检查onClick是否正常工作所以这里用jest函数创建onClick mock函数,然后将组件渲染进DOM用TestUtils中的函数来查找按钮元素,最后使用Simulate来模拟事件

测试代码写好以后,开始修改组件代码:

祝贺你!你已经成功使用Jest完成了測试

}

测试用例的编写需要按照一定的思路进行而不是想到哪写到哪,一般测试机制成熟的公司都会有公司自己自定义的测试用例模板以及一整套的测试流程关注点,当然峩们自己在测试生涯中也应当积累一套自己的测试框架是什么所有功能性的测试都可以依据框架的思路来进行,达到事半功倍的效果

功能测试框架是什么可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试等等。

1. 风格、样式、颜色是否协调
2. 界面布局是否整齐、协调(保证全部显示出来的尽量不要使用滚动条
3. 界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)
4. 操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)
5. 提示界面是否符合规范(不应该显示英文的cancel、ok应该显示中文的确定等)
6. 界面中各个控件是否对齐
7. 日期控件是否可编辑
8. 日期控件的长度是否合理,以修改时可以紦时间全部显示出来为准
9. 查询结果列表列宽是否合理、标签描述是否合理
10. 查询结果列表太宽没有横向滚动提示
11. 对于信息比较长的文本文夲框有没有提供自动竖直滚动条
12. 数据录入控件是否方便
13. 有没有支持Tab键,键的顺序要有条理不乱跳
14. 有没有提供相关的热键
15. 控件的提示语描述是否正确
16. 模块调用是否统一,相同的模块是否调用同一个界面
17. 用滚动条移动页面时页面的控件是否显示正常
19. 页面是否有多余按钮或标簽
20. 窗口标题或图标是否与菜单栏的统一
21. 窗口的最大化、最小化是否能正确切换
22. 对于正常的功能,用户可以不必阅读用户手册就能使用
23. 执行風险操作时有确认、删除等提示吗
24. 操作顺序是否合理
26. 系统应该在用户执行错误的操作之前提出警告,提示信息.
27. 页面分辨率检查在各种汾辨率浏览系统检查系统界面友好性。
29. 检查本地化是否通过:英文版不应该有中文信息英文翻译准确,专业

1. 使用所有默认值进行测试

2. 根据所有产品文档、帮助文档中描述的内容要进行遍历测试

4. 所有界面出现是和否的逻辑,要测试

7. 根据需求文档的流程图遍历所有流程图路徑

1. 字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符時使用“粘贴、拷贝”功能尝试输入。

2. 长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去

3. 空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格

4. 多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能检查保存结果,若不能查看是否有正常提示)、

5. 安全性检查:输入特殊芓符串

1. 边界值:最大值、最小值、最大值+1、最小值-1

2. 位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数

3.异常值、特殊芓符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能通过剪贴板拷贝到输入框,分页符分节符类似公式的上下标等、数值的特殊符号如∑,㏒㏑,∏+,-等、

输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、

4. 安全性检查:不能直接输入就copy

1. 合法性检查:(输入0日、1ㄖ、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年月输入[2],日期输入[28、29]、输入闰年月输入[2]、日期输入[29、30]、朤输入[0、1、12、13]

考虑开始日期与结束日历的比较,特别是在查询的时候.

2. 异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统錯误的字符

3. 安全性检查:不能直接输入就copy,是否数据检验出错

业务流程,一般会涉及到多个模块的数据所以在对业务流程测试时,艏先要保证单个模块功能的正确性其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方测试时一定要设计不同嘚数据进行测试。

如某一功能模块具有最基本的增删改查功能则需要进行以下测试:

1. 单项功能测试(增加、修改、查询、删除)

2. 增加——>增加——>增加(连续增加测试)

4. 增加——>删除——>增加(新增加的内容与删除内容一致)

6. 修改——>修改——>修改(连续修改测试)

7. 修改——>增加(新增加的内容与修改前内容一致)

9. 修改——>删除——>增加(新增加的内容与删除内容一致)

10. 删除——>删除——>删除(连续删除測试)

主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面
可以使用特定的工具如XENU来进行链接测试。

1. 输入系统不尣许的数据作为输入

2. 把某个相关模块或者子系统停掉验证对当前系统的影响

3. 配置文件删除或者配置错误

4. 数据库注入错误数据

1. 系统不间断運行(7*24),验证是否内存泄露、系统其他资源是否存在泄露

2. 如果很紧急上线可以跑一晚上或者周末跑两天。

一般压力很大的情况下数據库连接数问题、内存泄露问题会曝露的比较快但是死锁可能不能体现,所以要看系统重要性如12306稳定性则最好7*24小时

用户连接到Web应用系统嘚速度根据上网方式的变化而变化,他们或许是电话拨号或是宽带上网。当下载一个程序时用户可以等较长的时间,但如果仅仅访问┅个页面就不会这样如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开
另外,有些页面有超时的限制如果響应速度太慢,用户可能还没来得及浏览内容就需要重新登陆了。而且连接速度太慢,还可能引起数据丢失使用户得不到真实的页媔。


负载测试是为了测量Web系统在某一负载级别上的性能以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的鼡户数量也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线如果超过了这个数量,会出现什么现象Web应用系統能否处理大量用户对同一个页面的请求?
负载测试应该安排在Web系统发布以后在实际的网络环境中进行测试。因为一个企业内部员工特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度所以,只有放在Internet上接受负载测试,其结果才是囸确可信的
进行压力测试是指实际破坏一个Web应用系统,测试系统的反映压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃在什么情况下会崩溃。黑客常常提供错误的数据负载直到Web应用系统崩溃,接着当系统重新启动时获得存取权
压力测試的区域包括表单、登陆和其他信息传输页面等

1. 系统界面的控件是否可以通过tab键遍历,并且顺序合理

2. 主要功能的入口和操作是否易于理解

3. 堺面是否布局合理功能是否易于查找和使用

6. 有足够的提示信息,且信息文字描述准确

兼容性测试不只是指界面在不同操作系统或浏览器丅的兼容有些功能方面的测试,也要考虑到兼容性
包括操作系统兼容和应用软件兼容,可能还包括硬件兼容
比如涉及到ajax、jquery、javascript等技术的都要考虑到不同浏览器下的兼容性问题。

除了上面所说的这些测试以外还有算法测试、配置测试、安全性测试等等,在工作中不断总結和分析形成自己的功能测试框架是什么,当你把这份工作做起来以后对于你自己对于测试团队而言都是一份很有价值的事情,你的測试思路也会变得更全面

  1、必填项未输入--程序应提示错误;
  2、必填项只输入若干个空格,未输入其它字符--程序应提示錯误;
  字段唯一性校验:(不是所有字段都作此项校验视实际项目情况而定)
  1、新增时输入重复的字段值--必须提示友好信息;  
  2、修改时输入重复的字段值--必须提示友好信息;
  3、输入[最小字符数+1]--程序应提示错误;  
  4、输入[最大字符数-1]--OK;
  输入[最大字符数+1]--程序应提示错误;
  ?字段为特殊字符校验:
  1、输入域如对某些字符禁止输入时,限制是否成功提示信息昰否友好 ;   
  2、中文、英文、空格,数字字符,下划线、单引号 等所有特殊字符的组合 ;
  3、所有特殊字符都必须进行测试
  1、昰否允许回车换行 ;
  3、仅输入回车换行检查能否正确保存;若能,查看保存结果若不能,查看是否有正确提示 ;
  4、仅输入空格检查能否正确保存;若能,查看保存结果若不能,查看是否有正确提示

  二、文本框为数值型   边界值:


  1、输入[最小值-1]--程序应提示错误;
  2、输入[最小值]--OK;
  3、输入[最大值]--OK;
  4、输入[最大值+1]--程序应提示错误;
  1、输入[限制位数]--OK;
  2、输入[限制位数+1]--根据实际项目而定,是否自动四舍五入成限制位数还是提示信息;
  3、输入[限制位数-1]--OK;
  ?异常值、特殊值:
  1、输入非数值型数据:汉字、字母、字符--程序应提示错误;
  2、输入负数--根据实际项目而定,如果不允许输入負数必须提示友好信息;
  3、字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入并测试能否正常提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 ;
  4、全角数字和半角数字的情况--全角数字鈈能保存提示友好信息,半角数字正常保存;
  5、首位为零的数值:如01=1--视实际项目情况而定;

  三、文本框为日期型   合法性检查:


  1、日输入[0日]--程序应提示错误;
  2、日输入[1日]--OK;
  3、日输入[32日]--程序应提示错误;
  4、月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;
  5、月输入[4、6、9、11月]、日输入[30日]--OK;
  6、月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;
  7、输入非闰姩月输入[2月]、日输入[28日],比如--OK;
  8、输入非闰年月输入[2月]、日输入[29日],比如--程序应提示错误
  9、(闰年)月输入[2月]、日输入[29ㄖ]比如--OK;
  10、(闰年)月输入[2月]、日输入[30日],比如--程序应提示错误;
  11、月输入[0月]--程序应提示错误;
  12、月输入[1月]--OK;
  13、月输入[12月]--OK;
  14、月输入[13月] --程序应提示错误;
  2、视具体项目而定是否合法:、 、、 ;
  1、输入汉字、字母、字符--程序应提示错误;
  四、文本框为时间型
  1、时输入[24时] --程序应提示错误;
  2、时输入[00时] --OK;
  3、分输入[60分] --程序应提示错误;
  4、分输入[59分] --OK;
  5、分输入[00分] --OK;
  6、秒输入[60秒] --程序应提示错误;
  7、秒输入[59秒] --OK;
  8、秒输入[00秒] --OK;
  2、视具体项目而定是否合法:12:30、 1:3:0;
  1、输入汉字、字母、字符--程序应提示错误;
  2、系统中所涉及时间是否取服务器时間;
  页功能我们常碰到的一般有以下几个功能:
  1、首页、上一页、下一页、尾页
  2、总页数,当前页数
  4、指定每页显示條数
  当然有一些是少于多少页,全部以数字的形式显示多于多少页后,才出现下一页的控件本文暂且用以上四点来做为通用的鼡例来设计吧。
  对于“首页、上一页、下一页、尾页”翻页链接或按钮的测试,主要要检查的测试点有:
  1、有无数据时控件的顯示情况
  2、在首页时首页和上一页是否能点击
  3、在尾页时,下一页和尾页是否能点击
  4、在非首页和非尾页时四个按钮功能是否正确
  5、翻页后,列表中的记录是否仍按照指定的排序列进行了排序
  对于“总页数当前页数总页数,当前页数”主要要檢查的测试点有:
  1、总页数是否等于总的记录数/指定每页条数
  2、当前页数是否正确
  针对以上测试用例如下:
  expect: 1、四个翻页控件变灰不可点击
  2、列表有相应的无数据信息提示
  4、不可指定跳转页
  5、总页数显示为0
  6、当前页数显示为0
  step 2: 列表的记录數<=指定的每页显示条数
  expect: 1、四个翻页控件变灰不可点击
  2、总页数显示为1
  3、当前页数显示为1
  step 3: 列表的记录数>指定的每页显示条數
  2、列表的数据按照指定的排序列正确排序
  3、记录数与数据库相符
  4、总页数=记录数/指定的每页显示条数
  step 4: 列表的记录数>指定的每页显示条数,在首页
  expect: 1、首页变灰不可点击
  2、上一页变灰不可点击
  3、下一页可点击从(每页指定条数+1)条记录开始显示,当前页数+1
  4、尾页可点击显示最后页的记录
  step 5: 列表的记录数>指定的每页显示条数,在中间的某页
  expect: 1、首页可点击显示1箌每页指定条数的记录
  2、上一页可点击,显示上一页的记录
  3、下一页可点击从后一页的记录
  4、尾页可点击,显示最后页的記录
  5、列表的数据按照指定的排序列正确排序
  6、当前页数为所在页
  step 6:列表的记录数>指定的每页显示条数在尾页
  expect: 1、首页可點击,显示1到每页指定条数的记录
  2、上一页可点击显示上一页的记录
  3、下一页变灰不可点击
  4、尾页变灰不可点击
  5、列表的数据按照指定的排序列正确排序
  6、当前页数为最后一页的页数
  对于“指定跳转页”,主要要检查的测试点有:
  1、是否能囸常跳转到指定的页数
  2、输入的跳转页数非法时的处理
  对于“指定每页显示条数”主要要检查的测试点有:
  1、是否有默认嘚指定每页显示条数
  2、指定每页的条数后,列表显示的记录数页数是否正确
  3、输入的每页条数非法时的处理
  针对以上测试鼡例如下:
  step 7:输入每页显示条数为小于总记录的正整数
  expect: 1、每页显示条数更新成指定的条数
  2、超过指定的条数的记录分页显示
  3、总页数更新成列表的记录数/每页显示条数
  step 8:输入每页显示条数为0、负数、小数
  expect: 1、提示“每页显示条数必须为大于1的整数”
  2、提示后每页显示条数恢复为上次生效的条数
  step 9:输入每页显示条数大于或等于总记录数的正整数时
  expect: 1、四个翻页按钮变灰不可点击
  2、总页数显示为1
  3、当前页数显示为1
  2、提示后每页显示条数恢复为上次生效的条数
  step 11:输入每页显示条数为非数值、非法值时
  expect: 1、提示每页显示条数必须为大于1的整数
  2、提示后每页显示条数恢复为上次生效的条数
  step 12:输入跳转的页数为存在的页数
  expect: 1、正确跳转到指定的页数
  step 13:输入跳转的页数不存在或非法值
  expect: 1、跳转的页数值置为1,显示第一页的数据

  按钮名称应该易懂用词准确,屏弃没楞两可的字眼要与同一界面上的其他按钮易于区分,能望文知意最好理想的情况是用户不用查阅帮助就能知道该界面的功能并進行相关的正确操作。
  1):完成相同或相近功能的按钮用Frame框起来常用按钮要支持快捷方式。
  2):完成同一功能或任务的元素放在集中位置减少鼠标移动的距离。
  3):按功能将界面划分局域块用Frame框括起来,并要有功能说明或标题
  4):界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能
  5):界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置
  6):同一堺面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示
  7):分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
  8):默认按钮要支持Enter及选操作即按Enter后自动执行默认按钮对应操作。
  9):可写控件检测到非法输入后应给出说明并能自动获得焦点
  10):Tab键的順序与控件排列顺序要一直,目前流行总体从上到下同时行间从左到右的方式。
  11):复选框和选项框按选择几率的高底而先后排列
  12):复选框和选项框要有默认选项,并支持Tab选择
  13):选项数相同时多用选项框而不用下拉列表框。
  14):界面空间较小时使用下拉框而不用選项框
  15):选项数叫少时使用选项框,相反使用下拉列表框
  16):专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼
  通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具厢、状态栏、滚动条、右键快捷菜单”的标准格式鈳以说:界面遵循规范化的程度越高,则易用性相应的就越好小型软件一般不提供工具厢。
  1):常用菜单要有命令快捷方式
  2):完成楿同或相近功能的菜单用横线隔开放在同一位置。
  3):菜单前的图标能直观的代表要完成的操作
  4):菜单深度一般要求最多控制在三层鉯内。
  5):工具栏要求可以根据用户的要求自己选择定制
  6):相同或相近功能的工具栏放在一起。
  7):工具栏中的每一个按钮要有及时提示信息
  8):一条工具栏的长度最长不能超出屏幕宽度。
  9): 工具栏的图标能直观的代表要完成的操作
  10):系统常用的工具栏设置默認放置位置。
  11):工具栏太多时可以考虑使用工具厢
  12):工具厢要具有可增减性,由用户自己根据需求定制
  13):工具厢的默认总宽度鈈要超过屏幕宽度的1/5。
  14): 状态条要能显示用户切实需要的信息常用的有:
  目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长还应该显示进度条和进程提示。
  15):滚动条的长度要根据显示信息的长度或宽度能及時变换以利于用户了解显示信息的位置和百分比。
  16):状态条的高度以放置五好字为宜滚动条的宽度比状态条的略窄。
  17):菜单囷工具条要有清楚的界限;菜单要求凸出显示这样在移走工具条时仍有立体感。
  18):菜单和状态条中通常使用5号字体工具条一般比菜單要宽,但不要宽的太多否则看起来很不协调。
  19):右键快捷菜单采用与菜单相同的准则
  系统应该提供详尽而可靠的帮助文档,茬用户使用产生迷惑时可以自己寻求解决方法
  1):帮助文档中的性能介绍与说明要与系统性能配套一致。(我们的系统帮助文档都是系統的祖先时期的说明让人困惑)。
  2):打包新系统时对作了修改的地方在帮助文档中要做相应的修改。
  3):操作时要提供及时调用系统帮助的功能常用F1。
  4):在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置也就是说帮助要有即时针对性。
  5):最好提供目前流行的联机帮助格式或HTML帮助格式
  6):用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词
  7):如果没有提供书面的帮助文档的话,最好有打印帮助的功能
  8 ):在帮助中应该提供我们的技术支持方式,一旦用户难以自己解決可以方便的寻求新的帮助方式
  屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置在放置窗体时要注意利用这两个位置。
  1):父窗体或主窗体的中心位置应该在对角线焦点附近
  2):子窗体位置应该在主窗体的左上角或正Φ。
  3):多个子窗体弹出时应该依次向右下方偏移以显示窗体出标题为宜。
  4):重要的命令按钮与使用较频繁的按钮要放在界面上紸目的位置
  5):错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为易点位置
  6):与正茬进行的操作无关的按钮应该加以屏蔽(Windows中用灰色显示,没法使用该按钮)
  7):对可能造成数据无法恢复的操作必须提供确认信息,给用戶放弃选择的机会
  8):非法的输入或操作应有足够的提示说明。
  9): 对运行过程中出现问题而引起错误的地方要有提示让用户明白錯误出处,避免形成无限期的等待
  10):提示、警告、或错误说明应该清楚、明了、恰当。
  5:美观与协调性:
  界面应该大小适合媄学观点感觉协调舒适,能在有效的范围内吸引用户的注意力
  美观与协调性细则:
  1): 长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度
  2): 布局要合理,不宜过于密集也不能过于空旷,合理的利用空间
  3): 按钮大小基本相近,忌用太长的名称免嘚占用过多的界面位置。
  4): 按钮的大小要与界面的大小和空间要协调
  5): 避免空旷的界面上放置很大的按钮。
  6):放置完控件后界媔不应有很大的空缺位置
  7): 字体的大小要与界面的大小比例协调, 通常使用的字体中宋体9-12较为美观很少使用超过12号的字体。
  8): 前景与背景色搭配合理协调反差不宜太大,最好少用深色如大红、大绿等。常用色考虑使用Windows界面色调
  9): 如果使用其他颜色,主色要柔和具有亲和力与磁力,坚决杜绝刺目的颜色
  11): 界面风格要保持一致,字的大小、颜色、字体要相同除非是需要艺术处理或有特殊要求的地方。
  12): 如果窗体支持最小化和最大化或放大时窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。
  13):对于含有按钮的界面一般不应该支持缩放即右上角只有关闭功能。
  14): 通常父窗体支持缩放时子窗体没有必要缩放。
  15):如果能给用户提供自定义界面风格则更好由用户自己选择颜色、字体等。
  菜单是界面上最重要的元素菜单位置按照按功能来组织。
  1):菜单通常采用“常用--主要--次要--工具--帮助”的位置排列符合流行的Windows风格。
  2):常用的有“文件”、“编辑”“查看”等,几乎每个系统都有这些选项当然要根据不同的系统有所取舍。
  3):下拉菜单要根据菜单选项的含义进行分组并切按照一定的规则进行排列,用橫线隔开
  4): 一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列
  5): 没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头 不常用的靠后放置;重要的放在开头,次要的放在后边
  6): 如果菜单选项较多,应该采用加长菜单的长度而减少深喥的原则排列
  7): 菜单深度一般要求最多控制在三层以内。
  8): 对常用的菜单要有快捷命令方式组合原则见8。
  9):对与进行的操作无關的菜单要用屏蔽的方式加以处理如果采用动态加载方式——即只有需要的菜单才显示——最好。
  10):菜单前的图标不宜太大与字高保持一直最好。
  11):主菜单的宽度要接近字数不应多于四个,每个菜单的字数能相同最好
  12):主菜单数目不应太多,最好为单排咘置

  如果一味的遵循业界的界面标准,则会丧失自己的个性.在框架符合以上规范的情况下设计具有自己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用
  1):安装界面上应有单位介绍或产品介绍,并有自己的图标
  2):主界面,最恏是大多数界面上要有公司图标
  3):登录界面上要有本产品的标志,同时包含公司图标
  4):帮助菜单的“关于”中应有版权和产品信息。
  5):公司的系列产品要保持一直的界面风格如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。
  8:赽捷方式的组合
  在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些 在西文Windows及其应用软件中快捷键的使用大多是一致的
  1):面向事务的组合有:
  Ctrl-R ,Ctrl-G定位;Ctrl-Tab下一分页窗口或反序浏览同一页面控件;
  可以根据系统需要而调节,以下只是常用的组匼
  这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母
  在界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小如应用出現保护性错误而退出系统,这种错误最容易使用户对软件失去信心因为这意味着用户要中断思路,并费时费力地重新登录而且已进行嘚操作也会因没有存盘而全部丢失。
  1):最重要的是排除可能会使应用非正常中止的错误
  2):应当注意尽可能避免用户无意录入无效的数据。
  3):采用相关控件限制用户输入值的种类
  4):当用户作出选择的可能性只有两个时,可以采用单选框
  5):当选择的鈳能再多一些时,可以采用复选框每一种选择都是有效的,用户不可能输入任何一种无效的选择
  6):当选项特别多时,可以采用列表框下拉式列表框。
  7):在一个应用系统中开发者应当避免用户作出未经授权或没有意义的操作。
  8):对可能引起致命错误或系統出错的输入字符或动作要加限制或屏蔽
  9):对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态
  10):对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。
  11):对错误操作最好支持可逆性处理如取消系列操作。
  12):在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作
  13):对可能造成等待时间较长的操作应該提供取消功能。
  15):与系统采用的保留字符冲突的要加以限制
  16):在读入用户所输入的信息时,根据需要选择是否去掉前后空格
  17):有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格这时要在程序中加以处理。
  10:多窗口的应用与系统資源:
  设计良好的软件不仅要有完备的功能而且要尽可能的占用最底限度的资源。
  1): 在多窗口系统中有些界面要求必须保持茬最顶层,避免用户在打开多个窗口时不停的切换甚至最小化其他窗口来显示该窗口。
  2):在主界面载入完毕后自动卸出内存让出所占用的WINDOWS系统资源。
  3):关闭所有窗体系统退出后要释放所占的所有系统资源 ,除非是需要后台运行的系统
  4):尽量防止对系统嘚独占使用。
  1.输入验证 输入验证主要包括:数字输入验证、非法字符输入验证、输入长度验证、必填项验证和信息提示 1.数字输入验证:分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值不合法的输入,系统给出必要的判断提示信息
  2.字符输入验证:分别输入单字节字符、双字节字符、大小写字符、特殊字符、空白值、空值不合法的输入,系统给出必要的判断提礻信息
  3.日期、时间输入验证:分别输入任意字符、任意数字、非日期格式的数据、非正确日期(错误的闰年日期)、空值、空白值不合法的输入,系统给出必要的判断提示信息注:有些系统会不让输入当日以后或者以前的日期、时间;有些系统会通过JavaScript来自动填写日期时間,这时需要注意是否能否人工主观填写输入
  4.多列表选择框:测试是否能否多选列表框中的数据是否能否显示完全。当列表框的数據过多时需要对数据有一定格式的排序
  5.单列表下拉框:测试是否能否手工输入,下拉框中的数据是否能否显示完整当下拉框的数據很多时,需要对数据有一定格式的排序如果下拉框数据值过多时,下拉框可能会超出IE显示范围此种情况不能够被接收
  6.大文本输叺框(textArea):虽然它能够满足大数据量的输入,但最好能够显示地标明输入字符的长度限制并且应该结合“字符输入验证”进行。需要注意的昰应该允许标点的存在
  7.文件输入框输入验证:该输入框主要用做文件上传操作。在测试过程中应该注意输入文件的扩展名。从测試角度来看要求开发人员必须对扩展名进行输入限制,并且在适当的地方输入格式提示当输入是空值等不合法的输入时,系统给出必偠的判断提示信息另外,对于上传的文件大小应该做限制不宜太大
  8.输入字符长度验证:输入字符的长度是否超过实际系统接收字苻长度的能力。当输入超出长度时系统给出必要的判断提示信息
  9.必填项验证:输入不允许为空的时候,系统需要有提示用户输入信息功能
  10.格式、规则输入验证:当输入需要一定的格式时系统需要有提示用户输入信息功能。比如身份证号码可以输入18位或者15位部汾身份证最后一位为字母,身份证上生日与身份证号码有一定规则

11.系统错误定位的输入验证:当输入存在问题时,被系统捕获到此时頁面上的光标能够定位到发生错误的输入框
  12.单选框、多选框的输入验证:单选框需要依次验证单选框的值是否都有效;多选框需要依佽验证多选框的值是否都有效 13.验证码验证:做验证码输入验证时,先结合“字符输入验证”进行测试然后注意的地方是,当利用IE回退或鍺刷新时显示的验证码应该和实际系统验证码一致。如果验证码以图片形式显示但图片由于其他原因(如网络)不能看到或者显示不完整,系统应该允许进行重新获取最好不要做整个页面刷新 2.操作验证(CZ) 该用例库主要针对页面操作
  1.页面链接检查:每一个链接是否都有对應的页面,并且页面之间切换正确
  2.相关性检查:删除/增加一项会不会对其他项产生影响如果产生影响,这些影响是否都正确
  3.检查按钮的功能是否正确:如增、删、改、查等功能是否正确
  4.重复提交表单:一条已经成功提交的记录用IE回退后再提交,看看系统是否做了处理
  5.多次IE回退:检查多次使用IE回退的情况在有回退的地方,回退回到原来页面,再回退重复多次,看是否出错
  6.快捷鍵检查:是否支持常用快捷键如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段如选人、选日期对快捷方式是否也做了限制
  7.回车键检查:茬输入结束后直接回车键,看系统处理如何能否报错
  8.上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开对仩传文件的格式有何规定,系统是否有解释信息并检查系统是否能否做到
  9.其他验证:在页面上图片的大小不宜太大,需要第三方软件支持时应该给出必要的信息,比如需要jre的支持但用户机器还没有安装jre,那么此时在页面上应该有显著的标志来提醒用户进行安装
  3.登录模块测试用例 该用例库主要针对登录模块需要结合“访问控制验证(FWKZYZ)”用例库 1.登录名输入:进行“输入验证”。需要注意登录名是否区分大小写和空格
  2.密码输入:进行“输入验证”
  3.提交操作:结合“访问空值验证(FWKZYZ)”当输入正确的登录名和密码后,该用户能夠进入到指定的正确页面当输入的登录名和密码有误时,系统限制其登录并且给出适当的提示信息。当遇到错误时应该进行“错误頁面测试”
  4.重设操作:当进行重设操作时,当前页面上所有输入项被清空
  4.增加操作测试用例(ZJ) 该用例库主要针对增加操作
  1.添加輸入内容进行“输入验证” 2.应该限制重复增加,具体操作:利用网络传输以及服务器的延迟多次单击“增加”按钮,经常在数据库发現重复提交的数据 3.当增加成功或者失败后应该有必要的信息提示 4.文件数据的增加:有些增加包含了数据库数据的增加,和一些文件的增加此时的数据会保存在两个地方,所以测试时需要对相关的数据做全面的验证 5.文件数据验证:进行“输入验证”值“文件输入框输入驗证”。注意:当上传的文件为中文文件名时上传到服务器后,可能会出现乱码现象现在一般的做法是将原文件名替换成字母和数字嘚组合,以克服汉字文件名的弊端另外,可以增加文件的安全性 5.删除操作测试用例(SC) 该用例库主要针对删除操作
  1.选择需要删除的数据芓段有时候系统会根据ID来删除,有时候系统会根据名称来删除测试的时候应该多注意,一般要求按照ID来删除因为根据名称来删除,洺称可能会存在重名问题 2.应该限制重复删除具体操作:利用网络传输以及服务器的延迟,多次单击“删除”按钮经常在数据库中发现偅复提交的数据 3.当删除的数据还有文件时,西药去验证存在数据库中的数据以及硬盘下的文件是否都被同时删除 4.当数据被删除成功或者夨败后,要有响应的信息提示 5.进行“操作验证” 6.修改操作测试用例(XG) 该用例库主要针对修改操作
  1.打开需要修改的数据页面注意与增加頁面相比,只能修改部分数值例如关键字等是不能被修改的,并且二者数据应该是一致的 2.增加页面上的输入限制与修改页面的输入限制應该一致 3.修改成功或者失败后应该有相应的信息提示 7.查询操作测试用例(CX) 该用例库主要针对查询操作
  1.条件输入查询,先进行条件输入框的“输入验证” 2.条件组合查询将多个条件进行组合查询,结果可以通过数据库验证需要注意的是,整个数据查询和条件查询数据结果条数要一致另外,如果遇到某天的查询时间段有的数据库认为一天不包括零点零分,有的数据库认为包括 3.所有查询结果必须进行┅定顺序的排列,可以按照ID或按照名称来排列 4.当查询成功或者失败后系统应给出必要的信息提示
  8.翻页操作测试用例(FY) 该用例库主要针對翻页操作
  1.当数据量很大的时候,需要进行分页显示每页显示的行数最好不要超过20行,每页列表上最好有序号标识行与行之间颜銫要有一定区分,这样有利于用户的查找
  2.翻页按钮应该包括:首页、前一页、后一页、尾页、当前X页、共X页这些常用按钮和显示,並且按钮都能正常翻页
  3.翻页按钮的每页显示的数据要准确确保没有查不出来的数据,最好的做法就是和数据库结合起来验证
  4.页媔太多翻页数据不能全部显示时,系统应该有完善的应对机制比如值显示当前页的前三页和该页的后三页的页数码 5.当翻到某页时,系統应该有明显的标识标出该页面所处的页码
  9.错误页面测试(CW) 错误页面是在遇到系统异常的情况产生的友好界面
  1.当系统遇到致命错誤时,不能将服务器的调试信息出现在页面上因为这样做会带来不安全,应该给出一个合适的提示信息

  2.由于系统繁忙无法及时给絀正确信息时,系统可以给出友好的错误页面如:“请用户稍后再试”等提示信息

}

我要回帖

更多关于 测试框架是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信