软件测试中的43个功能测试点(精)
测试用例检查点

测试用例检查点上一篇/ 下一篇 2009-03-18 11:07:25 / 个人分类:测试人生查看( 125 ) / 评论( 0 ) / 评分( 0 / 0 )一、环境配置测试(1)网络连接是否正常(2)网络流量负担是否过重(3)软件测试平台是否可选(4)如果(3),是否在不同的软件测试平台进行软件测试(5)所选软件测试平台的版本(包括Service Pack)是否正确(6)所选软件测试平台的参数设置是否正确(7)所选软件测试平台上正在运行的其它程序是否会影响测试结果(8)画面的分辨率和色彩设定是否正确二、代码测试A.静态测试(1)同一程序内的代码书写是否为同一风格(2)代码布局是否合理、美观(3)程序中函数、子程序块分界是否明显(4)注释是否符合既定格式(5)注释是否正确反映代码的功能(6)变量定义是否正确(长度、类型、存储类型)(7)是否引用了未初始化变量(8)数组和字符串的下标是否为整数(9)的数组和字符串的下标是否在范围内(不“越界”)(10)进行数组的检索及其它操作中,是否会出现“漏掉一个这种情况”(11)是否在应该使用常量的地方使用了变量(例:数组范围检查)(12)是否为变量赋予不同类型的值(13)(12)的情况下,赋值是否符合数据类型的转换规则(14)变量的命名是否相似(15)是否存在声明过,但从未引用或者只引用过一次的变量(16)在特定模块中所有的变量是否都显式声明过(17)非(16)的情况下,是否可以理解为该变量具有更高的共享级别(18)是否为引用的指针分配内存(19)数据结构在函数和子程序中的引用是否明确定义了其结构(20)计算中是否使用了不同数据类型的变量(21)计算中是否使用了不同的数据类型相同但长度不同的变量(22)赋值的目的变量是否小于赋值表达式的值(23)数值计算是否会出现溢出(向上)的情况(24)数值计算是否会出现溢出(向下)的情况(25)除数是否可能为零(26)某些计算是否会丢失计算精度(27)变量的值是否超过有意义的值(28)计算式的求值的顺序是否容易让人感到混乱(29)比较是否正确(30)是否存在分数和浮点数的比较(31)如果(30),精度问题是否会影响比较(32)每一个逻辑表达式是否都得到了正确表达(33)逻辑表达式的操作数是否均为逻辑值(34)程序中的Begin…End和Do…While等语句中,End是否对应(35)程序、模块、子程序和循环是否能够终止(36)是否存在永不执行的循环(37)是否存在多循环一次或少循环一次的情况(38)循环变量是否在循环内被错误地修改(39)多分支选择中,索引变量是否能超过可能的分支数(40)如果(39),该情况是否能够得到正确处理(41)子程序接受的参数类型、大小、次序是否和调用模块相匹配(42)全局变量定义和用法在各个模块中是否一致(43)是否修改了只作为输入用的参数(44)常量是否被做为形式参数进行传递B 动态测试(1)测试数据是否具有一定的代表性(2)测试数据是否包含测试所用的各个等价类(边界条件、次边界条件、空白、无效)(3)是否可能从客户那边得到测试数据(4)非(3)的情况下,所用的测试数据是否具有实际的意义(5)是否每一组测试数据都得到了执行(6)每一组测试数据的测试结果是否与预期结果一致(7)文件的属性是否正确(8)打开文件语句是否正确(9)输入/输出语句是否与格式说明书所记述的一致(10)缓冲区大小与记录长度是否匹配(11)使用文件前是否已打开了文件(12)文件结束条件是否存在(13)产生输入/输出错误时,系统是否进行检测并处理(14)输出信息中是否存在文字书写错误和语法错误(15)控件尺寸是否大小适宜(16)控件颜色是否符合规约(17)控件布局是否合理、美观(18)控件TAB顺序是否从左到右,从上到下(19)数字输入框是否接受数字输入(20)(19)的情况下、数字是否按既定格式显示(21)数字输入框是否拒绝字符串和“非法”数字的输入(22)组合框是否的能够进行下拉选择(23)组合框是否能够进行下拉多项选择(24)对于可添加数据组合框,添加数据后数据是否能够得到正确显示和进行选择(25)列表框是否能够进行选择(26)多项列表框是否能够进行多数据项选择(27)日期输入框是否接受正确的日期输入(28)日期输入框是否拒绝错误的日期输入(29)日期输入框在日期输入后是否按既定的日期格式显示日期(30)单选组内是否有且只有一个单选钮可选(31)如果单选组内无单选钮可选,这种情况是否允许存在(32)复选框组内是否允许多个复选框(包括全部可选)可选(33)如果复选框组内无复选框可选,这种情况是否允许存在(34)文本框及某些控件拒绝输入和选择时显示区域是否变灰或按既定规约处理(35)密码输入框是否按掩码的方式显示(36)Cancel之类的按钮按下后,控件中的数据是否清空复原或按既定规约处理(37)Submit之类的按钮按下后,数据是否得到提交或按既定规约处理(38)异常信息表述是否正确(39)软件是否按预期方式处理错误(40)文件或外设不存在的情况下是否存在相应的错误处理(41)软件是否严格的遵循外设的读写格式(42)画面文字(全、半角、格式、拼写)是否正确(43)产生的文件和数据表的格式是否正确(44)产生的文件和数据表的计算结果是否正确(45)打印的报表是否符合既定的格式(46)错误日志的表述是否正确(47)错误日志的格式是否正确。
软件测试通用测试点

测试点 基准分辩率(比如1024×768) 风格统一:业务流程类,基础设置类,查询报表类 重要的和常用的元素优先布局,且放置在醒目的位置 完成相同或相近功能的元素集中放置,减少鼠标移动的距离 布局合理紧凑,疏密有致 长度与高度的比例基本接近黄金分割点 明显区分只读区域与可编辑区域 使用红色的符号‘*’来标记必填项 主窗体默认放置在屏幕的正中央 弹出式子窗体放置在主窗体正中央,或是左上角 输入项目尽量排成单列,过多时也可以排成2列,一般不能出现3列及以上的排列 使用有明确含义的图形、图片、图标和动画等 图形、图片、图标和动画等的体积不能过大,以免浪费传输时间 使用色调柔和、具有亲和力的颜色,不使用刺目的颜色 背景色、前景色和字体颜色的搭配要协调 字体大小与界面大小的比例协调:交易类界面使用小四字体,其他使用五号字体 一般性原则:常用排在前,重要排在前;有先后要求或有向导作用时,按先后次序排列 根据菜单项的含义进行分组排列 名字不易太长,一般控制在2~6个字,但不能为了刻意压缩长度而导致词不达意 右键菜单要慎用 弹出右键菜单的位置要合适,不能随便什么地方都弹出一堆右键菜单出来 按扭大小基本一致,并且要与窗口大小保持协调 名字不易太长,一般控制在2~6个字,但不能为了刻意压缩长度而导致词不达意 工具栏按钮和对应菜单项保持同步,即同时可见/隐藏/变亮/变灰/可用/不可用 根据按钮的含义进行分组排列 退出或关闭按钮一般放在最后面 按钮图标与对应的按钮功能比较吻合,尽量做到望图知意 常用功能按扭定义了快捷键,但一般不能屏蔽这些保留键:CTRL+C复制、CTRL+X剪切、CTRL+V粘贴、DEL 删除、CTRL+F查找、CTRL+A全选,CTRL+Z撤消、CTRL+P打印、CTRL+N新建、CTRL+O打开、CTRL+S保持、 F1帮助、ALT+F4关闭 每一个链接都能链接到正确的页面 提供合理的导航功能(比如站点地图、搜索引擎等) 关闭出错提示框后,返回到原来的操作窗口和页面 后台处理过程中鼠标变成沙漏,处理结束后再变回正常 通过TAB键可以到达所有可选中的界面组件 TAB顺序的一般性原则:从上到下,从左到右;特殊情况下可以:从左到右,从上到下 经常进经常进行数值录入的界面(比如交易、财务等),提供完善的小键盘支持(回车移到下个控件) 输入数量、价格或金额后,尽量马上提供“三位一逗”的显示格式,小数位数固定。必要时提供大写数 字显示 提供合理的缺省值(比如日期默认为当天,数值默认为0等) 有依赖关系的,尽量实现数据连动,方便用户操作,比如:用户输入了基金之后,资产单元下拉框就自 动显示当前基金的相关内容 用户需要连续输入的功能界面,输入一条数据并保存后,界面不会被关闭,并清空相关的输入 下拉选择框中的选项不宜超过20个 对可能造成较长时间等待的操作,提供了取消功能
功能测试有哪些

功能测试有哪些功能测试是软件测试中最常见的测试类型之一,用于评估软件系统的功能是否满足需求和预期。
在进行功能测试时,测试人员会测试软件系统的每个功能,以确保其能够正常工作并产生正确的结果。
下面是一些常见的功能测试类型:1. 单元测试单元测试是功能测试的基础,用于测试软件系统中的最小可测试单元,例如函数、方法或模块。
单元测试通常由开发人员编写,并使用自动化测试框架进行执行。
它的目标是确认每个单元的功能是否按预期工作,以及是否生成正确的输出。
2. 集成测试集成测试是测试系统内的多个模块或组件之间的交互。
在集成测试中,测试人员会验证这些模块或组件是否能够正确地协同工作,并确保它们之间的接口和通信功能正常。
集成测试旨在发现模块之间的集成问题,并确保整个系统的功能完整性。
3. 功能测试功能测试是评估软件系统的各个功能是否满足业务需求的测试类型。
在功能测试中,测试人员会测试系统的每个功能,并检查其是否按照预期工作。
这包括输入和输出的准确性、功能逻辑的正确性、用户界面的交互性等。
功能测试可以手动执行,也可以利用自动化测试工具进行执行。
4. 用户界面测试用户界面测试是验证软件系统用户界面的正确性和友好性的测试类型。
在用户界面测试中,测试人员会确保用户能够轻松地与系统进行交互、输入并获取正确的信息。
测试重点包括界面的布局、颜色、字体、控件的位置和功能等方面。
5. 性能测试性能测试是评估软件系统在各种负载条件下的性能和效能的测试类型。
这包括测试系统的响应时间、吞吐量、资源利用率和可伸缩性等。
性能测试旨在发现系统的瓶颈,确保系统在正常使用情况下能够提供高效且可靠的性能。
6. 安全测试安全测试是评估软件系统对潜在威胁和漏洞的抵抗能力的测试类型。
在安全测试中,测试人员会模拟攻击并测试系统的安全性。
这包括检查系统的认证和授权机制、数据保护、漏洞和弱点的存在等。
安全测试旨在确保系统能够保护用户数据和系统资源免受未经授权的访问或损害。
软件测试流程及测试点 -回复

软件测试流程及测试点-回复软件测试流程及测试点是软件开发过程中非常重要的环节,通过测试我们可以发现和纠正软件产品中的缺陷、保证软件质量和稳定性。
本文将一步一步回答关于软件测试流程及测试点的相关问题。
1. 什么是软件测试流程?软件测试流程是指为了保证软件质量和稳定性而进行的一系列测试活动的组织和执行过程。
这个过程通常分为准备测试、设计测试用例、执行测试、分析测试结果和编写测试报告等阶段。
2. 软件测试流程的主要阶段有哪些?软件测试流程通常包括以下几个阶段:准备测试阶段:制定测试计划、准备测试环境和测试工具等。
设计测试用例阶段:根据需求规格和设计文档,编写并设计测试用例。
执行测试阶段:根据测试用例和测试计划,执行各种类型的测试,例如功能测试、性能测试、安全测试等。
分析测试结果阶段:对测试执行过程中的记录和日志进行审核和分析,找出软件的缺陷并进行记录。
编写测试报告阶段:根据测试结果,编写测试报告,将测试过程和测试结果向相关人员进行沟通和交流。
3. 设计测试用例的主要原则有哪些?设计测试用例是软件测试流程中非常重要的一环。
设计测试用例的原则有:完备性原则:测试用例必须覆盖所有的功能和性能需求。
独立性原则:测试用例之间应该相互独立,以免相互影响。
可重复性原则:测试用例应该能够被反复执行,以便发现问题并确认解决。
有效性原则:测试用例应该有助于发现软件缺陷和问题。
可追溯性原则:测试用例应该能够通过需求和设计文档进行追溯。
4. 执行测试的主要步骤有哪些?执行测试是软件测试流程中的核心环节,主要步骤包括:准备环境:确保测试环境、测试数据和测试工具都准备就绪。
执行测试用例:按照设计好的测试用例,执行各种类型的测试,如功能测试、性能测试、安全测试等。
记录测试结果:对测试过程进行记录,包括测试用例的执行情况、发现的问题和测试日志等。
确认测试结果:对测试结果进行确认,包括问题的重现和解决效果的验证。
5. 分析测试结果的主要方法有哪些?分析测试结果是测试流程中非常重要的环节,通过分析测试结果可以发现软件的缺陷和问题。
软件测试中常用的安全性测试和漏洞测试

软件测试中常用的安全性测试和漏洞测试近年来,随着互联网的快速发展,软件产品已经成为人们生活工作中必不可少的一部分。
而软件产品的质量则成为了影响用户体验和使用安全的重要因素,其中软件的安全性问题成为大家关心的重点。
为了避免软件安全方面的问题,软件测试中的安全性测试和漏洞测试已成为极为重要的一项工作。
一、什么是软件的安全性?软件的安全性指的是软件对用户数据和系统的保护能力,也是衡量软件质量的一项重要指标。
软件的安全性主要体现在以下几个方面:1. 保护用户的数据安全:软件应保护用户的信息和隐私,避免用户信息流失。
2. 保护用户系统的安全:软件应该确保用户系统免受病毒、黑客攻击等威胁。
3. 防止不良行为:软件应该防止非法行为和恶意攻击的发生,保证用户的使用安全。
二、软件测试中的安全性测试软件在进行安全性测试时,主要是利用黑盒测试方法检测软件是否存在漏洞和安全性问题。
黑盒测试是指在不考虑程序的内部结构和算法的情况下,仅根据软件功能和规格说明进行测试,从而发现软件存在的安全风险。
在进行软件测试时,可以将软件测试分为两个部分,分别是静态安全测试和动态安全测试。
1. 静态安全测试静态安全测试是指对软件进行分析、检查、扫描等方法,以发现软件中存在的安全问题。
静态安全测试主要包括以下几个方面:(1)代码注入漏洞:检查软件是否存在未经过滤的用户输入,是否存在SQL注入攻击、XSS漏洞等问题。
(2)带外数据传输漏洞:检查软件的网络连接请求是否合法,是否存在通过DNS域名解析进行数据传输等问题。
(3)身份验证和权限管理问题:通过模拟各种攻击方式来评估软件的身份验证和权限管理是否有安全隐患。
2. 动态安全测试动态安全测试是指通过模拟第三方攻击软件,来查找软件存在的安全问题。
动态安全测试主要包括以下几个方面:(1)渗透测试:模拟各种攻击方式进行测试,评估软件防御能力和安全性。
(2)模糊测试:通过对软件进行随机输入,来查找软件在应对异常输入时是否存在漏洞问题。
功能测试知识点总结

功能测试知识点总结功能测试是软件测试中的一个重要环节,它主要是对软件系统的功能进行测试,检验软件是否符合设计要求,是否满足用户的需求。
功能测试要求测试人员深入理解用户需求和系统设计,能够准确地测试各种功能模块,并能够通过各种测试方法和工具对软件功能进行有效的测试,确保软件能够按照设计要求正常运行,达到用户预期的效果。
在进行功能测试时,需要掌握一些基本的知识点,包括测试计划制定、测试用例设计、测试执行与反馈等方面的知识。
下面将对这些知识点进行总结,以便更好地理解和应用功能测试。
一、测试计划制定1. 测试需求分析在进行测试计划制定时,首先需要对测试的具体需求进行分析,明确测试的目标和范围,确定测试的重点和难点,充分了解用户需求和系统设计,以便更好地进行测试计划的制定和测试工作的安排。
2. 测试计划编制测试计划是进行测试工作的指导性文档,它主要包括测试目标、测试环境、测试资源、测试方法、测试进度、风险评估等内容。
测试计划的编制应该充分考虑软件的特点和用户需求,合理安排测试任务,合理配置测试资源,制定有效的测试方法和进度安排,以确保测试工作顺利进行。
3. 测试计划评审在测试计划编制完成后,需要对测试计划进行评审,以确保测试计划的合理性和完整性。
评审的目的是发现并解决测试计划中存在的问题和不足,确保测试计划的质量和可行性,提高测试工作的效率和质量。
二、测试用例设计1. 测试用例编写测试用例是进行功能测试的重要工具,它主要包括测试输入、预期输出和测试步骤等内容。
测试用例的编写应该充分考虑软件的功能需求和用户操作习惯,设计全面、合理和有效的测试用例,以确保对软件功能进行全面和有效的测试。
2. 测试用例优先级在进行测试用例设计时,需要根据测试目标和测试需求对测试用例进行优先级划分,确定测试用例的重要性和紧急性,合理安排测试用例的执行顺序,以确保测试工作的效率和质量。
3. 测试用例评审在测试用例编写完成后,需要对测试用例进行评审,发现并解决测试用例中存在的问题和不足,确保测试用例的质量和完整性,提高测试工作的效率和质量。
软件测试之功能测试篇

软件测试之功能测试篇⼀、软件测试的⽬的:发现缺陷错误,并且尽最⼤可能找出最多的错误,也是对软件质量进⾏评估,以提⾼软件质量。
⼆、什么是软件:软件=程序+⽂档软件是计算机系统中与硬件相互依存的⼀部分,它是包括程序、⽂档的完整集合。
程序(program)是按事先设计的功能和性能要求执⾏的指令序列。
⽂档(document)是与开发、维护和使⽤有关的图⽂材料。
三、软件缺陷的定义:1、软件没有实现产品说明书要求的功能;2、出现了产品说明书指明的不应该出现的错误;3、实现了说明书中未提及的功能;4、未实现产品说明书虽未明确,但应实现的功能;5、软件难以理解,不易操作,运⾏缓慢等问题;6、缺陷是系统在开发或者维护过程中就存在的错误;7、缺陷是系统某种功能失效;四、什么是软件测试:1、找bug;2、找到【预期结果】和【实际结果】的差异,保证项⽬质量;3、根据需求⽂档(客户要求)进⾏测试;P.s:⼀般把软件缺陷(defect)称为bug(臭⾍)五、操作系统:1、Windows2、Linux3、Android4、IOS5、Unix六、BS架构和CS架构:1、BS架构——基于浏览器;优点:分布性强,维护⽅便,成本低;缺点:个性化特点明显降低,跨浏览器实现差,响应速度低,容易给服务器造成较⼤的压⼒;2、CS架构——基于客户端;优点:⽤户体验佳,速度快,处理能⼒强;缺点:需要专门的客户端安装程序,开发、维护成本⾼,升级⼀次所有的客户端程序都需要改变。
七、职业素质要求:1、专业知识2、沟通能⼒3、团结合作能⼒4、耐⼼、细⼼、⾃信⼼5、责任⼼6、不管做什么测试,基础⼀定要牢,才能继续提升⼋、V模型:【⽤户需求】由需求⼈员(BA)根据客户需求整理⼀个⽂档叫需求⽂档【需求分析】项⽬经理—测试经理—开发—测试—BA开会讨论:1、需求怎么做?——开发2、需求是否合理?——两个⽅⾯:需求、时间3、测试⼈员的作⽤?(1)搞清楚这个需求的来源是做什么的;(2)通过测试思维去考虑它,如何去测试它;4、需求讨论阶段也是需求确认的⼀个阶段【概要设计】开发⼈员对需求进⾏梳理;——开会评审,检查开发⼈员对需求的理解程度;【详细设计】开发⼈员需要通过什么样的技术去实现这个功能,⽤⽂档的形式写出来——后期也需要评审【编码】编程。
软件测试技术 第五章 功能测试与非功能测试

表5-4 公司产品标识的测试 编号 测试内容
1
2 3 4 5 6 7
安装界面上有公司的图标、介绍,有产品的介绍
主界面和大多数界面上最好有公司的图标 登陆界面上有本产品的标志,同时包含公司的图标 选择“帮助”->“关于”命令可看见版权的信息,可看见产品的 信息 背景色 字体
8
9 10
公司的系列产品 要保持一致的界 面风格
第12页/共113页
功能需求大多数具有局部特点,通常采用用例 或场景的方式描述;非功能需求通常具有全局 意义,例如性能一般是针对整个系统而言。
一个软件系统通常需要考虑多个非功能需求, 例如性能、可靠性和安全性等,这些非功能需 求之间往往存在着某些制约和依赖关系。
第13页/共113页
功能需求有很多规范的乃至形式化的描述方法 ,能够很好地消除歧义性;非功能需求很多采 用自然语言的描述方式,具有很大的随意性, 缺乏精确性和完整性,给需求理解、设计和开 发造成了很大困难。
第14页/共113页
非功能测试经常需要定量化的测试指标,类似“ 具有及时的响应时间”这样的描述是不可度量的 。应当使用SMART标准来设计非功能测试目标 ,也就是用具体的(Specific)、可度量的( Measurable)、可实现的(Achievable) 、相关的(Relevant)、有时限的(Timebound)测试指标来指导测试。
安全性测试——检查系统对非法侵入的防范
能力;
辅助功能测试——保证软件系统能被残疾人
士使用; 本地化测试——验证软件能否满足某一特定 地区的语言、文化和风俗习惯的要求;
第21页/共113页
配置测试——验证被测软件在不同的软件和 硬件配置中的运行情况;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试中的43个功能测试点软件测试功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
针对web系统的常用测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。
可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。
LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu 无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。
如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。
2. 相关性检查:功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。
数据相关性:下来列表默认值检查,下来列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。
3. 检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。
常见的错误会出现在重置按钮上,表现为功能失效。
4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。
还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。
5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型,看系统是否检查字符类型。
6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。
看系统处理是否正确。
常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。
7.特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。
常见的错误是出现在% ‘ " 这几个特殊字符8. 中文字符处理: 在可以输入中、英文的系统输入中文,看会否出现乱码或出错。
9. 检查信息的完整性: 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。
要注意检查的时候每个字段都应该检查,有时候,会出现部分字段更新了而个别字段没有更新的情况。
10. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
11. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除, 看是否正确处理。
如果有多页,翻页选,看系统是否都正确删除,并且要注意,删除的时候是否有提示,让用户能够更正错误,不误删除。
12. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型. 13. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错. 14. 重复提交表单:一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。
对于Web系统来说,可以通过浏览器返回键或者系统提供的返回功能。
15. 检查多次使用返回键的情况: 在有返回键的地方,返回到原来页面,重复多次,看会否出错。
16. 搜索检查: 有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确.如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确,搜索的时候同样要注意特殊字符,某些系统会在输入特殊字符的时候,将系统中所有的信息都搜索到。
17. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。
18. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。
对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。
下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。
上传文件测试同时应该测试,如果将不能上传的文件后缀名修改为可以上传文件的后缀名,看是否能够上传成功,并且,上传文件后,重新修改,看上传的文件是否存在。
19. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加“*”;对必填项提示返回后,焦点是否会自动定位到必填项。
20. 快捷键检查:是否支持常用快捷键,如Ctrl+C、Ctrl+V、 Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
21. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错。
这个地方很有可能会出现错误。
22.刷新键检查:在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。
23.回退键检查:在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。
对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。
24.直接URL链接检查:在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。
如果系统安全性设计的不好,直接输入各功能页面的URL地址,很有可能会正常打开页面。
25.空格检查:在输入信息项中,输入一个或连串空格,查看系统如何处理。
如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。
26.输入法半角全角检查:在输入信息项中,输入半角或全角的信息,查看系统如何处理。
如对于要求输入符点型数据的项中,输入全角的小数点(“。
”或“.”,如4.5;输入全角的空格等。
27.密码检查:一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。
28.用户检查:任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。
同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户其它信息是否重现。
同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。
而且还要检查该用户的有效日期,过了有效日期的用户是不能登录系统的。
容易出现错误的情况是,可能有用户管理权限的非超级管理员,能够修改超级管理员的权限。
29.系统数据检查:这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。
数据检查根据不同的系统,方法不同对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
30.系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。
31.确认提示检查:系统中的更新、删除操作,是否提示用户确认更新或删除,操作是否可以回退(即是否可以选择取消操作,提示信息是否准确。
事前或事后提示,对于Update或Delete操作,要求进行事前提示。
32.数据注入检查:数据注入主要是对数据库的注入,通过输入一些特殊的字符,如“’”,“/”,“-”等或字符组合,完成对SQL语句的破坏,造成系统查询、插入、删除操作的SQL因为这些字符而改变原来的意图。
如select * from table where id = ‘’ and name = ‘ ’,通过在id输入框中输入“12’-”,会造成查询语句把name条件注释掉,而只查询id=12的记录。
同样,对于update和delete的操作,可能会造成误删除数据。
当然还有其它一些SQL注入方法,具体可以参考《SQL应用高级SQL注入.doc》,很多程序都是基于页面对输入字符进行控制的,可以尝试跳过界面直接向数据库中插入数据,比如用Jmeter,来完成数据注入检查。
33.刷新检查:web系统中的WebForm. 控件实时刷新功能,在系统应用中有利有弊,给系统的性能带来较大的影响。
测试过程中检测刷新功能对系统或应用造成的影响(白屏,检查控件是否回归默认初始值,检查是否对系统的性能产生较大影响(如每次刷新都连接数据库查询等。
34.事务检查:对于事务性操作,断开网络或关闭程序来中断操作,事务是否回滚。
35.时间日期检查:时间、日期验证是每个系统都必须的,如2006-2-29、2006-6-31等错误日期,同时,对于管理、财务类系统,每年的1月与前一年的12月(同理,每年的第1季度与前一年的第4季度。
另外,对于日期、时间格式的验证,如2006年2月28日、2006-2-28、 20060228等。
日期检查还要检查日期范围是否符合实际的业务,对于不符合时间业务的日期,系统是否会有提示或者有限制。
36.多浏览器验证:越来越多的各类浏览器的出现,用户访问Web程序不再单单依赖于Microsoft Internet Explorer,而是有了更多的选择:Maxthon、Firefox、Tencent Traveler等,考虑使用多种浏览器访问系统,验证效果。
37.安装测试:对于C/S架构的系统,安装程序的测试是一个重要方面,安装程序自动化程度、安装选项和设置(验证各种方案是否都能正常安装、安装过程中断测试、安装顺序测试(分布式系统、修复安装及卸载测试。
38.文档测试:主要是对用户使用手册、产品手册进行测试,校验是否描述正确、完整,是否与当前系统版本对照,是否易理解,是否二义性等。
39.测试数据检查:事实告诉我们,测试数据比代码更有可能是错的,因此,当测试结果显示有错误发生的时候,怀疑代码错误前要先对测试数据检查一遍。
40.请让我的机器来运行:在某些项目中,出现一个病态的问题:系统没有问题呀,它在我的机器上是能够通过的。
这就说明了其中存在着和环境相关的BUG。
“是否所有的一切都受到了版本控制工具的管理?”、“本机的开发环境和服务器的环境是否一样?”、“这里是否存在一个真正的BUG,只不过是在其他的机器里偶然出现?”。