黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。
功能不正确或遗漏;
界面错误;
数据库访问错误;
性能错误;
初始化和终止错误等。
测试计划
首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
测试设计
将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。
测试开发
建立可重复使用的自动测试过程。
测试执行
执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
测试评估
结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:
1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。
2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。
3. 检查按钮的功能是否正确:如update, cancel, delete, save等功能是否正确。
4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.
5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.
6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.
7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.
8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致
9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.
10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理.
11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.
12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.
13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。
14. 检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次,看会否出错.
15. search检查: 在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确.
16. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.
17. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。
18. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*
19. 快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
20. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错
打个比方:在开发新增页面时注意的问题
1.是否处理tab顺序(必须的)
2.输入框的内容是否为空
3.内容是否要trim()处理
4.输入框的内容是否唯一的
5.输入框的内容是否需要(只能输入字母、数字或下划线,长度必须{0}位以上,或只能数字,或只能中文等)
6.输入的长度的限制maxLength(必须的)
7.处理重复提交的问题(必须的)
8.提交的验证(必须的)
9.tab的enter事件的处理
js特效
作者来自:http://yangyongyan.iteye.com/blog/629350
判断只能是数字和小数点
1.文本框只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
2.只能输入数字,能输小数点.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
3.数字和小数点方法二
<input type=text tvalue="" ovalue="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.ovalue=this.value}">
4.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">
5.只能输入英文字母和数字,不能输入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
6.只能输入数字和英文<font color="Red">chun</font>
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">
7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
=============================================
只能输入汉字:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
只能输入数字:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
只能输入英文和数字:
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
控制输入框只能输入文字或数字,也可以不允许输入特殊字符
这里不允许输入如下字符: (像 !@#$%^&* 等)<br>
<textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;">
只禁止空格输入
onkeyup="value=value.replace(/\s/g,'')"
只能输入中文和英文:
onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"
分享到:
相关推荐
根据提供的文件信息,我们可以了解到该文档是一份关于软件测试的实验报告,涉及了黑盒测试、白盒测试以及系统测试三种不同的测试方法。下面将对这三种测试进行详细的知识点说明。 首先,黑盒测试是软件测试方法之一...
【黑盒测试】是一种软件测试方法,主要关注软件的功能,而不涉及其内部结构或工作原理。在黑盒测试中,测试人员充当最终用户的角色,仅根据软件的需求规格说明书来设计和执行测试用例,以验证软件是否能按照预期正确...
### 黑盒测试和白盒测试的区别及案例详解 #### 一、黑盒测试与白盒测试概述 在软件开发过程中,确保软件的质量至关重要。为了达到这个目标,开发者们广泛运用了多种测试策略和技术。其中,“黑盒测试”与“白盒...
**黑盒测试**,也称为功能测试或数据驱动测试,是一种软件测试方法,它主要关注软件的外部行为,而不关心其内部结构或实现细节。在黑盒测试中,测试人员被视为软件的最终用户,他们根据需求规格说明书来验证软件是否...
【黑盒测试测试用例设计】是软件测试中一种重要的方法,主要关注软件的功能行为,而不涉及其内部结构。在本课程中,我们将深入探讨如何有效地设计测试用例,包括等价类划分、边界值分析以及因果图法。 首先,等价类...
"软件测试之黑盒测试方法" 黑盒测试是软件测试中的一种重要方法,它着眼于系统的功能实现,而不是内部逻辑。黑盒测试试图发现以下类型的错误:功能不正确或不完整、界面错误、数据结构或外部数据库访问错误、性能不...
黑盒测试是软件测试的一种方法,其重点在于测试软件的功能需求,而不关心软件内部结构和内部特性。场景法是黑盒测试的一种重要技术,它基于业务流程和用户场景来设计测试用例,能够有效模拟用户操作行为,从而发现...
本资料主要涵盖了Python语言中的几个重要测试概念:三角形测试、黑盒测试、白盒测试以及unittest框架,并且介绍了如何利用HTMLTestRunner生成测试报告。现在,我们将深入探讨这些知识点。 首先,让我们了解一下...
在软件测试领域,黑盒测试和白盒测试是两种主要的测试方法,它们分别关注不同的角度来确保软件的正确性。 黑盒测试,也称为功能测试,主要关注软件的外部行为,即根据软件的需求和规格说明书,检查软件是否能够正确...
本主题将深入探讨“三角形类型判断”和“黑盒测试”以及“白盒测试”的相关知识,特别是结合C#编程语言的应用。 首先,让我们从“三角形类型判断”开始。在计算机科学中,我们经常需要编写算法来确定一个给定的三边...
在本实验报告中,我们探讨了黑盒测试方法在计算被输入日期是星期几的程序中的应用。实验的目的是使学生熟悉测试过程,理解软件测试的基本概念,并培养良好的测试习惯。以下是该实验涉及的主要知识点: 1. **黑盒...
在软件测试领域,黑盒测试是一种重要的方法,它主要关注软件的功能表现,而不涉及内部结构或实现细节。本文将深入探讨黑盒测试中的两种技术——决策表法和因果图法,帮助初学者理解和掌握这两种有效的测试策略。 ...
本主题主要关注的是“软件测试技术”,特别是“黑盒测试”以及如何设计“测试用例”。黑盒测试是一种广泛应用的测试方法,它不关注程序内部结构,而关注软件功能的表现,就像一个黑盒子,我们只关心输入与输出的关系...
### 黑盒测试知识点解析 #### 一、黑盒测试概述 黑盒测试是一种软件测试方法,它关注的是系统的功能性和行为,而不关心内部结构或实现细节。这种方法主要用于验证软件的功能是否符合用户的需求规格说明书。 #### ...
黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计...