测试用例的设计与如何编写测试用例
测试用例的设计方法

测试用例的设计方法
《测试用例的设计方法》
一、定义
测试用例是指由测试者根据测试目标和测试需求,设计出的一系列的测试步骤和预期结果的集合,用来检查软件的功能和性能的一种文档或者测试案例的总称。
二、设计流程
1. 收集需求:通过观察、记录和分析,提取软件的功能和性能要求的具体内容;
2. 识别测试对象:根据软件功能和性能需求,识别出关键的测试对象;
3. 构建测试场景:结合测试对象,根据软件的具体要求,构建出符合测试要求的测试场景;
4. 确定测试步骤:根据每个测试场景,分析出其中所包含的重要测试步骤;
5. 编写用例:将上述测试步骤和预期结果整合到一起,并按照某种规范用文档的形式描述出来,就形成了一个测试用例;
6. 执行用例:按照用例中的步骤,对软件进行测试,并记录测试结果。
三、编写说明
1. 测试用例的编写应该清晰易懂、简洁、具体、可行;
2. 测试用例中的步骤应该表达清楚,要能够准确地描述测试者
所进行的操作;
3. 测试用例中的预期结果应该清楚明确,要能够准确地反映软件在测试者进行步骤操作后应该出现的结果;
4. 测试用例应该有明确的测试目的和依据,如果某个用例无法覆盖某个测试目标,可以考虑增加新的用例,或者调整原有的用例;
5. 测试用例应该与其它的用例相互补充,如果测试者发现某个用例不能够满足测试需求,应该及时修改或者重新设计新的用例。
测试用例思路以及编写

测试⽤例思路以及编写⼀.测试⽤例的概念测试⽤例是测试过程中很重要的⼀类⽂档,他是测试⼯作的核⼼,是⼀组在测试时输⼊和输出的标准,是软件需求的具体对照⼆.测试⽤例的作⽤1. 1. 检验软件是否满⾜客户需求2. 2. 测试⼈员的⼯作量的⼀种体现3. 3. 展⽰测试⽤例的设计思路三.测试⽤例的内容测试⽤例的⼋个基本项是:测试⽤例编号,测试项⽬,测试标题,重要级别,预置条件,输⼊,操作步骤,预期输出(不同公司的测试⽤例内容不尽相同)下⾯是更为详尽的测试⽤例内容⽤例编码,⽤例名称/标题,测试北京,前置条件,优先级,重要级,测试数据,测试步骤,预期结果,实际结果,测试⼈员,测试时间,备注四.测试⽤例的编写流程需求分析-->提取测试点-->测试⽤例设计-->测试⽤例评审五.测试⽤例的常⽤⽅法测试⽤例设计⽅法:⿊盒测试法:等价类划分法,变价值分析法,因果图法,判定表法,错误推测发⽩盒测试法:静态测试法和动态测试法动态测试法包括语句覆盖法,判定覆盖,条件覆盖,判定/条件覆盖,组合覆盖,路径覆盖下⾯是每个⽅法的解释:-------其他⽂档六.测试⽤例的设计⽅法和编写6.1测试⽤例设计对各个功能模块进⾏测试点分析提取测试点在对测试点⽤例进⾏详细的编写6.2例⼦:以pc端qq登录为例正常登陆账号为空时点击登录密码为空时点击登录账号和密码为空时点击登录账号错误是点击登录密码错误时点击登录记住密码是否有效⾃动登录功能是否有效找回密码功能是否有效注册账号功能是否有效七.测试⽤例的评审⽤例评审主要是产品,开发和测试⼈员针对测试⽤例能否⽤于项⽬的测试⽽做的⼯作。
评审包括同⾏评审,⼩组评审,部门评审和第三⽅评审⼋.评审的意义1. 1. 通过评审发现⽤例的不⾜2. 2. ⽅便测试⼈员改进⽤例3. 3. 达到在测试时提⾼测试质量的⽬的注意:测试⽤例的编号有⼀定的规则,⽐如系统测试⽤例的编号这样定义规则:ProjectName-ST-001,其命名规则为“项⽬名称-测试阶段类型-编号”。
如何编写高效的自动化测试用例

如何编写高效的自动化测试用例自动化测试是软件测试领域重要的一部分,可以提高测试效率和质量。
编写高效的自动化测试用例是保证测试效果的关键。
本文将介绍一些编写高效自动化测试用例的方法和技巧。
一、测试用例设计原则在编写自动化测试用例之前,我们需要遵循以下测试用例设计原则:1. 可读性:测试用例应该简单易懂,方便团队成员理解和执行。
2. 简洁性:测试用例应尽量简洁,避免冗长和重复的步骤,以提高执行效率。
3. 可维护性:测试用例应易于维护和更新,避免用例的修改引起其他用例的错误。
二、测试用例编写步骤1. 确定测试目标:明确测试的目标和预期结果,以及需要验证的功能和业务需求。
2. 识别测试场景:根据测试目标,识别出不同的测试场景,每个场景对应一个或多个测试用例。
3. 设计测试用例:根据测试场景,编写详细的测试步骤,并确保涵盖各种测试情况,包括正常情况、异常情况等。
4. 设置测试数据:准备测试所需的输入数据和环境配置,并确保数据的正确性和可靠性。
5. 编写测试用例:根据测试设计,将测试步骤转化为可执行的测试脚本或测试代码。
6. 执行测试用例:执行编写好的测试用例,并记录测试结果。
7. 分析测试结果:对测试结果进行分析和评估,确保测试的完整性和准确性。
8. 更新测试用例:根据测试结果和反馈,及时更新和优化测试用例。
三、测试用例编写技巧1. 利用断言:在测试用例中使用断言来验证预期结果和实际结果是否一致,以自动判断测试是否通过。
2. 数据驱动:使用不同的测试数据组合来覆盖更多的测试场景,提高用例的复用性和覆盖度。
3. 模块化设计:将测试用例拆分成小的模块,提高用例的可维护性和复用性。
4. 参数化配置:将测试用例中的参数进行配置,方便在不同环境和场景下进行灵活的测试调整。
5. 异常处理:在测试用例中合理处理可能出现的异常情况,保证测试的稳定性和可靠性。
6. 并行执行:对于一些独立的测试用例,可以进行并行执行,提高测试效率。
新增测试用例的编写

新增测试用例的编写随着软件开发的不断推进,测试工作变得越来越重要,而测试用例的编写是测试工作中的一个关键环节。
新增测试用例的编写可以帮助我们发现软件中的潜在问题,并确保软件的质量和稳定性。
本文将介绍如何编写新增测试用例,并提供一些编写测试用例的实例。
一、测试用例的定义和目的测试用例是一组输入、执行步骤和预期结果的组合,用于验证软件的功能是否按照预期工作。
测试用例的目的是帮助测试人员验证软件在不同场景下的行为,并检测潜在的错误和缺陷。
二、编写测试用例的步骤1. 确定测试目标:首先要明确测试的目标和范围,确定需要测试的功能点和需求。
2. 识别测试场景:根据测试目标和范围,识别出不同的测试场景。
测试场景应该包括正常情况下的输入、边界情况下的输入以及异常情况下的输入。
3. 设计测试用例:根据测试场景,设计具体的测试用例。
测试用例应该包括输入数据、执行步骤和预期结果。
4. 执行测试用例:根据设计的测试用例,执行测试工作。
在执行测试用例的过程中,要记录测试结果和问题。
5. 分析测试结果:对测试结果进行分析,判断测试用例是否通过或失败。
如果测试用例失败,要进行问题的排查和修复。
三、测试用例编写实例下面是一些常见的测试用例编写实例,供参考:1. 注册功能测试用例:- 输入有效的用户名和密码,验证是否成功注册。
- 输入已经存在的用户名,验证是否提示用户名已存在。
- 输入无效的用户名或密码,验证是否提示输入无效。
2. 登录功能测试用例:- 输入正确的用户名和密码,验证是否成功登录。
- 输入错误的用户名或密码,验证是否提示登录失败。
- 输入无效的用户名或密码,验证是否提示输入无效。
3. 添加商品功能测试用例:- 输入有效的商品信息,验证是否成功添加商品。
- 输入无效的商品信息,验证是否提示输入无效。
4. 购买商品功能测试用例:- 选择有效的商品和数量,验证是否成功购买商品。
- 选择无效的商品或数量,验证是否提示购买失败。
系统测试用例设计:如何设计系统测试用例,保证系统测试的全面性和准确性

系统测试用例设计:如何设计系统测试用例,保证系统测试的全面性和准确性导言在软件开发过程中,系统测试是确保产品质量的关键环节之一。
为了检验软件系统是否符合预期的功能和性能要求,我们需要设计有效的系统测试用例。
系统测试用例设计的全面性和准确性对于保证软件系统质量至关重要。
本文将介绍系统测试用例设计的一些技巧和方法,帮助开发人员和测试人员设计全面且准确的系统测试用例。
理解系统测试用例在深入了解系统测试用例设计之前,我们首先来理解系统测试用例的概念。
系统测试用例是用来验证软件系统是否具备预期功能和性能的测试环节。
系统测试用例旨在测试整个软件系统,包括各个功能模块的集成。
它不同于单元测试用例和集成测试用例,因为它更加关注整个系统的功能和性能,而不仅仅是单个模块或组件。
系统测试用例要求全面、准确、可重复。
全面意味着覆盖到软件系统中的所有功能和边界条件,确保所有预期的功能被测试到。
准确意味着系统测试用例应该以预期的方式重现软件系统的行为,确保系统在不同情况下的正确性。
可重复意味着系统测试用例应该能够在不同的环境中重复运行,以验证系统在不同环境下的稳定性和可靠性。
确定系统测试的目标和范围在设计系统测试用例之前,我们需要明确系统测试的目标和范围。
系统测试的目标是测试软件系统是否符合预期的功能和性能要求。
系统测试的范围取决于软件系统的规模和功能。
我们需要明确测试哪些功能模块、关键功能和边界条件,并且确定测试的优先级。
了解用户需求和功能规范在系统测试用例设计之前,我们需要深入了解用户需求和功能规范。
用户需求是软件系统设计和开发的基础,我们需要确保系统测试用例设计与用户需求一致。
功能规范描述了软件系统的功能和行为,我们需要清楚地理解功能规范,以便设计相应的系统测试用例。
使用黑盒测试和白盒测试结合的方法系统测试用例设计可以使用黑盒测试和白盒测试结合的方法。
黑盒测试基于软件系统的功能和行为,不考虑内部实现细节。
白盒测试基于软件系统的内部逻辑和数据结构,可以验证系统的结构和路径覆盖。
如何编写测试用例

如何编写测试⽤例如何编写测试⽤例⽤例的五个构成元素:1. ⽤例标题2. 前置条件3. 测试步骤4. 期望结果5. 后置条件下⾯从这五个元素的⾓度,去剖析如何编写测试⽤例⽤例标题⽤例标题就是测试点名称。
⽤例标题是⽤来说明这个⽤例的测试⽬的的,好的⽤例标题是别⼈看完你这个⽤例标题后就知道你这个⽤例是测什么的。
但并不是标题越详细越好。
既然是标题,就要⾔简意赅,能多简洁就多简洁,但简洁的同时⼜要能体现你的测试⽬的。
⽤例的标题最好不要超过30个字,太长会让⼈看起来很累也很不专业。
⼀般可以遵循这样的公式:主体(可省略) + 动词 + 名词 + 结果(可省略)(即谁做了什么有什么影响),但很多时候是动词 + 名词的形式。
要注意:我们写的每⼀个案例对应的就是要测试的⼀个点。
其实每个点都是⽤户的⼀种操作⾏为。
前置条件⽤例的前置条件就是在测这个⽤例之前你要先准备的环境和数据。
同时,我们需要将前置条件和测试步骤区分开来,但怎么区分呢,是不是还是⽐较模糊?我们从⽤例标题⼊⼿,我们的⽤例标题是动作+名词嘛,那我们的测试重点是动作,那产⽣这个动作之前的所需的所有环境和数据都算是前置条件,产⽣这个动作和这个动作带来的后果都算是测试步骤。
这样是不是就⽐较清晰了。
前置条件只是说明测试这个⽤例需要准备的环境和数据,故前置条件不⽤像步骤那样写得那么详细,但也不能太过于简洁,不能有歧义。
测试步骤测试步骤是⼀个⽤例的精髓,⽤例标题体现测试的⽬的,⽤例步骤就是如何来测从⽽达到测试的⽬的。
即然是步骤那就是⼀步⼀步的操作过程,但这个操作过程并不是写得越详细越好。
我们的步骤是来体现我们的测试⽬的的,即要怎样做什么操作,这个操作后要如何检查产⽣的结果。
这个操作可能是⼀步,也可能是⼏步,也可能是来回循环。
不管是什么操作都是告诉别⼈如何去做,如何去检查。
但步骤不能写得过于详细,如【登录控制台,打开xx页⾯,点击xx按钮】这种就没必要写上去,因为这种既是浪费时间也会给⽤例的维护带来成本。
软件需求说明书编写中的测试用例设计与执行

软件需求说明书编写中的测试用例设计与执行在软件开发的过程中,测试用例的设计与执行是非常关键的环节。
只有通过充分而有效的测试用例,我们才能够评估软件的质量和可靠性,并发现其中的潜在问题。
本文将详细介绍如何在软件需求说明书编写中进行测试用例的设计与执行。
一、测试用例设计测试用例设计是测试工作的起点,合理的测试用例设计能够降低测试的风险,提高测试的效率。
以下是测试用例设计的一般步骤:1. 理解需求:首先要全面理解软件需求说明书中的功能模块和业务需求,包括输入、输出、操作流程等。
2. 划定测试范围:根据需求文档,确定测试的边界条件和约束条件,明确测试对象的功能和非功能需求。
3. 编写测试用例:根据需求和设计文档中的功能模块,设计并编写测试用例,包括输入数据、预期输出和执行步骤。
4. 考虑异常情况:在编写测试用例时,需要考虑各种异常情况,如输入为空、输入非法数据等,以验证软件的稳定性和安全性。
5. 设计测试数据:选择合适的测试数据,包括正常数据、边界数据和异常数据,以覆盖不同情况下的功能和性能。
6. 确定测试方法:根据不同的功能和需求,选择适当的测试方法,如黑盒测试、白盒测试、性能测试等。
7. 确定测试环境:根据软件的特点和需求,确定测试环境、测试工具和测试设备,以确保测试的准确性和可靠性。
二、测试用例执行测试用例设计完成后,接下来是测试用例的执行。
在执行测试用例时,需要遵循以下步骤:1. 环境准备:在执行测试用例之前,需要准备好测试环境,包括测试设备、测试数据和测试工具等。
2. 执行测试用例:按照测试用例的步骤和预期结果,逐个执行测试用例,并记录实际结果和执行时间。
3. 记录问题和缺陷:在执行测试用例的过程中,如果发现问题和缺陷,应立即记录,并详细描述问题的具体情况和出现的条件。
4. 验证修复效果:当问题和缺陷被修复后,需要重新执行相关的测试用例,并验证修复的效果是否符合预期。
5. 编写测试报告:在测试结束后,根据执行的测试用例和实际结果,编写测试报告,包括测试的覆盖率、问题和缺陷的统计等。
新增测试用例的编写

新增测试用例的编写在软件开发过程中,测试用例的编写是非常重要的一环。
通过编写有效的测试用例,可以帮助开发人员发现和修复软件中的缺陷,提高软件的质量和稳定性。
本文将介绍如何编写新增测试用例,以及一些注意事项。
一、测试用例的编写方法1.明确测试目标:在编写新增测试用例之前,首先要明确测试的目标和范围。
例如,测试某个功能的边界条件、异常情况、性能等。
只有明确了测试目标,才能有针对性地编写测试用例。
2.设计测试数据:根据测试目标和需求,设计适当的测试数据。
例如,对于边界条件的测试,需要设计一些边界情况的输入数据;对于异常情况的测试,需要设计一些异常情况的输入数据。
3.编写测试步骤:根据测试目标和测试数据,编写具体的测试步骤。
测试步骤应该清晰、简洁,并且易于理解和执行。
4.预期结果:对于每个测试步骤,都应该有一个预期的结果。
预期结果应该明确、具体,并且与实际结果进行比较。
如果实际结果与预期结果一致,则说明测试通过;如果不一致,则说明存在缺陷。
5.测试覆盖:在编写新增测试用例时,要确保测试覆盖到各种不同的情况和场景。
例如,对于一个输入框,可以测试输入为空、输入为数字、输入为特殊字符等不同情况。
二、测试用例编写的注意事项1.避免重复:在编写新增测试用例时,要避免重复测试相同的功能或场景。
重复的测试用例不仅浪费时间和资源,还可能导致测试结果的混乱。
2.全面性:测试用例应该尽可能覆盖到各种不同的情况和场景。
例如,对于一个登录功能,可以测试正常登录、错误密码登录、密码为空登录等不同情况。
3.可重复性:测试用例应该具有可重复性。
即在同样的条件下,多次执行测试用例应该得到相同的结果。
如果测试用例不具备可重复性,那么测试结果就无法被验证和重现。
4.独立性:测试用例应该相互独立,不受其他测试用例的影响。
这样可以保证每个测试用例都能独立运行和验证。
5.可读性:测试用例应该具有良好的可读性,方便其他人阅读和理解。
可以使用简洁的语言,清晰的描述测试步骤和预期结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试用例的设计与如何编写测试用例
常见的开发模型:
V模型、瀑布模型、敏捷开发模型、W模型
软件生命周期:
1、问题的定义及规划
2、需求分析
3、软件设计(明确怎么做!)
4、软件编码
5、软件测试
6、运行维护
测试生命周期:
单元测试:一般是开发完成时
集成测试:单元测试之后,单元之间接口是否正确,数据是否正常传递。
比如说注册和充值两个功能是否能够连通。
系统测试:根据测试用例,进行完整的系统测试
验收测试:用户对软件进行验收
软件测试阶段:
单元、集成、系统、验收(正式验收、Alpha测试,Beta测试)
软测方法:
白盒测试、黑盒测试、灰盒测试
软测类型:
功能、界面、安全、兼容性、易用性、性能、压力、负载、恢复测试等
其他测试分类:冒烟测试、回归测试、探索性测试
常用的开发的模型:V模型
V模型
软件测试的分类
软测分类
什么是黑盒测试?
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
不考虑内部结构,在程序接口进行测试。
Alpha、Beta测试的区别?
Alpha测试:前期的用户测试,公司内部在模拟实际操作环境下进行的一种验收测试。
Beta测试:后期的用户测试,此时已经通过内部测试,即将真实发布,是软件的在一个或者多个用户的实际使用环境下进行的测试
冒烟测试和回归测试区别?
冒烟测试:在新版本出来的时候,将软件的全部功能过一遍,功能可以正常进行不会影响测试进度,这个版本就可以真正测试了
回归测试:对以前版本中发现的bug在新的版本中验证是否存在且是否引发新的bug
软测用例的设计方法
1、边界值:
选取等于、刚刚大于、刚刚小于边界的值作为测试数据
基本思想是在最小值、略高于最小值、正常值、略低于最大值和最大值等处取值
2、等价类划分:
等价类划分就是把程序的输入域划分成若干部分,然后从每部分选取少量的具有代表性的数据作为测试用例。
无效等价类:不合理的、无意义的输入数据结婚,验证程序处理意外数据的能力
有效等价类:有意义的输入数据的集合,检验程序是否实现了规格说明总的功能和性能
等价类划分方法:按区间划分、数值划分、数值集合划分、限制条件和规则划分
3、错误推算法:
进行错误的操作,验证程序是否对出错的场景和情况有些应对能力,来选择测试用例数据
4、因果法/判定表法:
将判定表的每一列作为依据,设计测试用例。
检查输入条件的各种组合情况
5、场景法:
通过描述的业务流程,设计用例来列出不同业务场景,作为测试用例的测试数据
基本流:主要是功能的正常操作流程
分支流:需要程序做非法判断处理的
*测试用例方法的选择*(划重点)
1、进行等价类划分,主要是输入条件的划分,这是提高测试效率最有效的方法
在任何情况下都必须使用边界值分析法,这种方法设计出测试用例发现程序错误的能力最强
2、用错误推测法追加测试用例
3、如果程序说明中含有输入组合情况,则一开始就用判定表法(判定表法很少用到)
4、如果还没有达到覆盖标准,应当再补充足够的测试用例(场景法)
如何做软件测试需求分析?
1、列出需求文档中的可测试性的原始需求
2、对每一条需求进行细化分解,形成可测试的测试点
3、针对测试点确定执行适合的测试类型
4、建立测试需求分析矩阵,对测试需求进行管理
软件测试需求的重点是“测什么”。
测试需求分析的目的:获取测试点,根据测试点编写用例
重要!!
看到电梯,你可以写出它的测试点吗?
按钮指示灯:按压上下按钮指示灯是否亮
电梯门开关:按压上下按钮电梯门在当前楼层是否能打开
按向上按钮:电梯是否关门且向上面楼层方向走
按向下按钮:电梯是否关门且向下面楼层方向走
当电梯门没有关上:按开电梯门按钮,门是否开
当电梯门没有关上:按关闭电梯门按钮,门是否关闭
电梯内:按各个楼层,对应的指示灯是否亮
电梯内报警装置:报警装置是否正常
电梯内通话设备:按通话按钮能否接通外界
电梯内灯光:电梯内灯光是否亮,是否有无损坏
电梯内通风:是否通风
按各个楼层按钮:是否到当前楼层停止并开门
当超过最高重量:电梯是否报警打开电梯门,直到小于最高承重
电梯当前楼层是否和电梯内显示屏楼层一直
显示屏内是否有当前楼层,当前向上或者向下箭头,且与当前操作一致
电梯门超过规定时间未关门是否会有报警提示
上下按钮是否控制一个电梯或者两个电梯的开关门,如果控制两个电梯,按向上或者向下按钮,另一个电梯是否受控制
电梯是否分单双层?
在单层电梯情况下,按双层电梯,对应双层电梯数字是否亮,是否会到这一层
在双层电梯情况下,按单层电梯,对应单层电梯数字是否亮,是否会到这一层
电梯限层:按超过限层的电梯层数,数字是否亮,是否会到这一层
双击某楼层:是否会取消这个楼层且楼层灯灭
假如我在9楼,有人先按12楼,有人后按1楼,此时电梯是否先上12楼,再下1楼?
电梯感应:有人或者物体在门中间卡着,门是否会关闭,是否会有警铃提示?
电梯到达指定楼层是否有声音提示?
电梯是否刷卡:刷卡的电梯,如果没有刷卡是否能选楼层
维修开关:电梯内是否有维修开关
如何编写测试用例
测试用例:指导性执行测试,帮助证明软件功能或发现软件缺陷的一种说明。
每一个测试点的数据设计和步骤设计。
测试用例的重要性:
(1)、便于测试计划的实施
一般主要适用于集成测试、系统测试、回归测试。
根据用例知道自己的进度(2)、规划测试数据的准备
比如测注册,要提前准备好手机号、身份证号、不重复的用户名,邮箱等(3)、编写测试脚本的根本
自动测试的中心任务是编写测试脚本。
测试脚本就是以测试用例为基础。
(4)、评估测试结果的基准
通过测试用例的覆盖性和错误率,可以判断测试的结果,是否能发布
(5)、分析缺陷标准
收集缺陷,对比测试用例。
分析是漏测还是缺陷复现。
反应了测试的不完善,应立即补充相应的测试用例
*测试标题如何写:测试点,对测试点进行细化分解。
比如:输入正确用户名、密码,能否正常登陆。
测试用例编写格式注意:
(1)、测试标题一定要描述测试点(验证什么写什么),简洁明了,不存在重复
(2)、测试步骤要有指导性的意义,涉及测试数据输入最好包含具体的测试数据
(3)、预期结果是唯一的,不能出现“发送成功或失败”
如何编写测试用例?
用例包含:用例编号、功能模块、用例标题、前提条件、操作步骤、期望结果(含判断标准)、实际结果、备注
编写方式:按照功能+业务逻辑
(1)、首先保证单个功能是正常的
(2)、然后功能联合起来的业务逻辑是对的
比如:登录、充值、提现功能都是好的。
业务逻辑,就是把所有的功能联合起来走一遍,看是否是好的
用例覆盖:包含正面和反面的用例
(1)、正面用例:根据功能模块划分,针对要测试的功能模块,所有正常输入数据的测试用例都写出来
(2)、反面用例:例如登录失败等,输入非法数据,违反唯一约束等等。