首页
学习
活动
专区
圈层
工具
发布
29 篇文章
清单首页测试文章详情

AI生成注册用户测试用例

1.第一次

1.1提示词

用户注册界面包括以下内容。

l账号:文本框,长度为>=5,<=20位,必须唯一、可以包含大写或小写英文字符(必填)或者数字(选填)(不允许中文)。

l密码:密码框,长度为>=5,<=30位,必须包含大写和小写英文字符、数字和特殊字符,密码通过SHA256散列进行传输和存储(不允许中文)。

l确认密码:密码框,确认密码的值必须与密码的值一致。

l手机号:手机框,需符合中国手机号码格式(1开始的11位数字)。

lEmail:Email框,需符合国际标准Email格式。

l注册按钮:点击后提交表单。

请根据等价类、边界值、决策树、错误推测法,设计尽可能完善的测试用例,但是尽可能避免重复的测试用例或者无效的测试用例。另外请考虑并发、安全(比如XSS注入,SQL注入)

1.2 Deep Seek回答

根据您提供的注册界面需求,我将结合等价类划分、边界值分析、决策树、错误推测法以及安全测试,设计一套尽可能完善且避免重复的测试用例。

1.2.1测试策略概览

等价类划分:对每个输入字段划分有效等价类(VEC)和无效等价类(IVEC)。

边界值分析:针对长度限制的字段(账号、密码)测试边界值。

决策树:用于梳理组合逻辑,特别是密码与确认密码的匹配、必填项与选填项。

错误推测法:基于经验预测常见错误和易忽略场景。

安全测试:包括XSS、SQL注入、并发注册等。

1.2.2测试用例设计

1.账号(Account)

规则:长度5-20位,必须唯一,允许大小写英文字母和数字(数字选填),必填,不允许中文。

编号

用例编号

输入值

预期结果

测试类型

1

ACC-V-001

Alice123

通过

有效等价类(长度适中,含字母数字)

2

ACC-V-002

AbCdE (5位)

通过

边界值(最小长度,纯字母)

3

ACC-V-003

A1b2C3d4E5f6G7h8I9j0 (20位)

通过

边界值(最大长度,混合)

4

ACC-IV-001

ab12 (4位)

失败,提示长度不足

边界值(小于最小长度)

5

ACC-IV-002

A1b2C3d4E5f6G7h8I9j0K (21位)

失败,提示超长

边界值(超过最大长度)

6

ACC-IV-003

中文账号

失败,提示不允许中文

无效等价类(非法字符)

7

ACC-IV-004

alice!@#

失败,提示非法字符

无效等价类(特殊字符)

8

ACC-IV-005

12345

失败,提示至少包含一个字母?注意:规则未明确要求必须含字母,仅说“可以包含大写或小写英文字符(必填)或者数字(选填)”,这里可能有歧义。假设“必填”指字母是必填,则纯数字无效。若允许纯数字,则此用例为有效。假设字母必填,则此用例为无效。

无效等价类(纯数字)

9

ACC-IV-006

(空)

失败,提示必填

必填项验证

10

ACC-IV-007

Alice123 (重复注册)

失败,提示账号已存在

唯一性检查

11

ACC-SEC-001

<script>alert('xss')</script>

失败,前端过滤/后端转义

安全测试(XSS)

2.密码(Password)

规则:长度5-30位,必须包含大写字母、小写字母、数字、特殊字符,通过SHA256传输存储,不允许中文。

编号

用例编号

输入值

预期结果

测试类型

1

PW-V-001

Pass@123

通过

有效等价类(符合全部要求)

2

PW-V-002

A1b!(5位)

通过

边界值(最小长度,包含全部类型)

3

PW-V-003

Aa1!+重复至30位

通过

边界值(最大长度,符合规则)

4

PW-IV-001

pass@123(缺大写)

失败,提示需包含大写字母

无效等价类(缺大写)

5

PW-IV-002

PASS@123(缺小写)

失败,提示需包含小写字母

无效等价类(缺小写)

6

PW-IV-003

Pass@word(缺数字)

失败,提示需包含数字

无效等价类(缺数字)

7

PW-IV-004

Pass123(缺特殊字符)

失败,提示需包含特殊字符

无效等价类(缺特殊字符)

8

PW-IV-005

密码中文

失败,提示不允许中文

无效等价类(中文)

9

PW-IV-006

A1b!(4位)

失败,提示长度不足

边界值(小于最小长度)

10

PW-IV-007

Aa1!+重复至51位

失败,提示超长

边界值(超过最大长度)

11

PW-IV-008

(空)

失败,提示必填

必填项验证

12

PW-SEC-001

' OR '1'='1

失败,且不应返回详细错误

安全测试(SQL注入)

13

PW-SEC-002

传输过程中是否明文?

检查网络请求,应为SHA256哈希值

安全测试(传输安全)

3.确认密码(Confirm Password)

规则:必须与密码一致。

编号

用例编号

密码

确认密码

预期结果

测试类型

1

CFM-V-001

Pass@123

Pass@123

通过

有效等价类(一致)

2

CFM-IV-001

Pass@123

pass@123

失败,提示不一致

无效等价类(大小写不一致)

3

CFM-IV-002

Pass@123

Pass@124

失败,提示不一致

无效等价类(一个字符不同)

4

CFM-IV-003

Pass@123

(空)

失败,提示不一致或必填

无效等价类(为空)

4.手机号(Mobile)

规则:中国手机格式,1开头的11位数字。

编号

用例编号

输入值

预期结果

测试类型

1

MOB-V-001

13800138000

通过

有效等价类(常规号码)

2

MOB-IV-001

1380013800 (10位)

失败,提示格式错误

边界值(少一位)

3

MOB-IV-002

138001380000 (12位)

失败,提示格式错误

边界值(多一位)

4

MOB-IV-003

23800138000 (非1开头)

失败,提示格式错误

无效等价类(首数字非1)

5

MOB-IV-004

1380013800a

失败,提示格式错误

无效等价类(含字母)

6

MOB-IV-005

(空)

失败,提示必填?注意:规则未明确手机是否必填,假设为必填。

必填项验证

7

MOB-IV-006

重复注册同一手机号

失败,提示手机已注册?注意:取决于业务规则,通常唯一。

唯一性检查(若要求唯一)

8

MOB-SEC-001

13800138000' OR '1'='1

失败,无SQL错误信息

安全测试(SQL注入)

5.邮箱(Email)

规则:符合国际标准Email格式。

编号

用例编号

输入值

预期结果

测试类型

1

EMA-V-001

user@example.com

通过

有效等价类(常规邮箱)

2

EMA-V-002

user.name@example.co.uk

通过

有效等价类(带点域名)

3

EMA-IV-001

userexample.com(无@)

失败,提示格式错误

无效等价类(缺@)

4

EMA-IV-002

user@ (无域名)

失败,提示格式错误

无效等价类(域名缺失)

5

EMA-IV-003

user@example (无顶级域)

失败,提示格式错误

无效等价类(不完整域名)

6

EMA-IV-004

user@.com

失败,提示格式错误

无效等价类(@后直接点)

7

EMA-IV-005

(空)

失败,提示必填?注意:规则未明确,假设为必填。

必填项验证

8

EMA-IV-006

重复注册同一邮箱

失败,提示邮箱已注册?注意:通常要求唯一。

唯一性检查(若要求唯一)

9

EMA-SEC-001

"><script>alert('xss')</script>@example.com

失败,前端过滤/后端转义

安全测试(XSS)

6.注册按钮与表单整体

编号

用例编号

场景描述

预期结果

测试类型

1

FORM-V-001

所有字段填写有效值

注册成功,跳转或提示成功

整体功能

2

FORM-IV-001

某个必填字段为空

失败,停留在本页,提示对应错误

必填项组合

3

FORM-IV-002

多个字段无效

提示所有错误,不提交

多错误处理

4

FORM-SEC-001

并发注册同一账号

仅一个成功,其他失败(数据库唯一约束)

并发测试

5

FORM-SEC-002

修改前端JS跳过验证

后端依然验证并拒绝无效数据

安全测试(绕过前端)

6

FORM-SEC-003

提交超长数据(如密码1000位)

后端截断或拒绝,防止缓冲区溢出

安全测试(溢出)

合计:11+13+4+8+9+8=53

1.2.3补充说明与建议

唯一性检查:账号、手机、邮箱是否唯一需根据业务规则确定。若唯一,需在数据库层面设置唯一索引,并在并发测试中验证。

密码规则澄清:规则中“必须包含大写和小写英文字符、数字和特殊字符”是否允许其他字符(如空格)?建议明确特殊字符范围(如!@#$%^&*()等)。

传输安全:密码应在前端哈希(SHA256)后传输,避免明文。后端应再次哈希(加盐)存储。

错误信息:不应泄露敏感信息(如数据库结构),应返回通用错误提示。

输入过滤:所有字段应做前后端双重验证和过滤,防止XSS、SQL注入。

性能考虑:对于长度边界值(如30位密码),确保系统处理正常。

以上用例覆盖了主要功能、边界、异常和安全场景,可根据实际项目细节进行调整。

2.第二次

2.1提示词

用户注册界面包括以下内容。

l账号:文本框,必填项。长度为>=5,<=20位,必须唯一、可以包含大写或小写英文字符或者数字(大写或小写英文字符必须含有,数字可有可无)(不允许中文和特殊字符(ASCII32-126范围内))。

l密码:密码框,必填项。长度为>=5,<=30位,必须包含大写和小写英文字符、数字和特殊字符(ASCII32-126范围内),密码通过SHA256散列进行传输和在后端存储(不允许中文)。

l确认密码:密码框,必填项。确认密码的值必须与密码的值一致(确认密码仅在前端做校验,不传输)。

l手机号:手机框(Type=phone),必填项。需符合中国手机号码格式(1开始的11位数字),必须唯一。

lEmail:Email框(Type=email),必填项。需符合国际标准Email格式,必须唯一。

l注册按钮:点击后提交表单。

请根据等价类、边界值、决策树、错误推测法,设计尽可能完善的测试用例,但是尽可能避免重复的测试用例或者无效的测试用例。另外请考虑并发、安全(比如XSS注入,SQL注入等)。

2.2 Deep Seek回答

根据更新后的详细需求,我将重新设计一套完善的测试用例。重点强调ASCII字符集限制、唯一性要求以及安全考虑。

2.2.1测试策略设计

1.账号字段测试矩阵

规则:5-20位,必须包含字母(大小写均可),可含数字,不允许中文和特殊字符

编号

测试类型

用例编号

输入值

预期结果

说明

1

有效等价类

ACC-V-001

Alice123

通过

字母+数字组合

2

ACC-V-002

Alice

通过

纯字母(5位边界)

3

ACC-V-003

ALICE

通过

纯大写字母

4

ACC-V-004

AliceBobCharlieD (20位)

通过

最大长度纯字母

5

ACC-V-005

A1b2C3d4E5f6G7h8I9j0

通过

最大长度字母数字混合

6

无效等价类

ACC-IV-001

Al12

失败,提示长度不足

4位(小于最小长度)

7

ACC-IV-002

AliceBobCharlieDe (21位)

失败,提示超长

21位(超出最大长度)

8

ACC-IV-003

12345

失败,提示必须包含字母

纯数字

9

ACC-IV-004

测试用户

失败,提示不允许中文

中文字符

10

ACC-IV-005

Alice_123

失败,提示不允许特殊字符

包含下划线

11

ACC-IV-006

Alice 123

失败,提示不允许特殊字符

包含空格

12

ACC-IV-007

(空)

失败,提示必填

空值

13

边界值

ACC-BV-001

Abcd (4位)

失败

长度4,小于下限

14

ACC-BV-002

Abcde (5位)

通过

长度5,等于下限

15

ACC-BV-003

Abcdef (6位)

通过

长度6,下限+1

16

ACC-BV-004

...(19位字母)...

通过

长度19,上限-1

17

ACC-BV-005

...(20位字母)...

通过

长度20,等于上限

18

ACC-BV-006

...(21位字母)...

失败

长度21,大于上限

19

ASCII验证

ACC-ASC-001

Alice\x00123

失败

包含NULL字符

20

ACC-ASC-002

Alice\x1F123

失败

包含控制字符

21

ACC-ASC-003

Alice\x7F123

失败

包含DEL字符

22

ACC-ASC-004

Alice\x80123

失败

扩展ASCII字符

23

安全测试

ACC-SEC-001

<script>alert(1)</script>

失败并过滤

XSS攻击

24

ACC-SEC-002

admin' OR '1'='1

失败无SQL错误

SQL注入

25

ACC-SEC-003

../../etc/passwd

失败

路径遍历

26

并发测试

ACC-CON-001

同时注册相同账号Alice123

仅一个成功

唯一性约束

2.密码字段测试矩阵

规则:5-30位,必须包含大小写字母、数字、特殊字符(ASCII 32-126)

编号

测试类型

用例编号

输入值

预期结果

说明

1

有效等价类

PW-V-001

Pass@123

通过

标准组合

2

PW-V-002

Aa1! (5位边界)

通过

最小长度

3

PW-V-003

Aa1!重复7次 +Aa1!(30位)

通过

最大长度

4

PW-V-004

(空格) + Aa1@

通过

包含空格(ASCII 32)

5

PW-V-005

Aa1~

通过

包含~(ASCII 126)

6

无效等价类

PW-IV-001

Pass123

失败,缺特殊字符

无特殊字符

7

PW-IV-002

pass@123

失败,缺大写字母

全小写

8

PW-IV-003

PASS@123

失败,缺小写字母

全大写

9

PW-IV-004

Pass@word

失败,缺数字

无数字

10

PW-IV-005

密码@123

失败,不允许中文

含中文

11

PW-IV-006

(空)

失败,提示必填

空值

12

组合缺失

PW-IV-007

abcde

失败,缺大写/数字/特殊

全小写字母

13

PW-IV-008

ABCDE

失败,缺小写/数字/特殊

全大写字母

14

PW-IV-009

12345

失败,缺字母/特殊

纯数字

15

PW-IV-010

!@#$%

失败,缺字母/数字

纯特殊字符

16

边界值

PW-BV-001

Aa1! (5位)

通过

下限边界

17

PW-BV-002

Aa1@ (5位)

通过

下限边界

18

PW-BV-003

Aa12 (4位)

失败

小于下限

19

PW-BV-004

...(30位组合)...

通过

上限边界

20

PW-BV-005

...(31位组合)...

失败

大于上限

21

特殊字符验证

PW-SPC-001

Aa1 (空格结尾)

通过

空格ASCII 32

22

PW-SPC-002

Aa1!

通过

! ASCII 33

23

PW-SPC-003

Aa1@

通过

@ ASCII 64

24

PW-SPC-004

Aa1[

通过

[ ASCII 91

25

PW-SPC-005

Aa1 + \x1F

失败

控制字符

26

安全测试

PW-SEC-001

' OR '1'='1

失败

SQL注入

27

PW-SEC-002

<> alert(1) @1Aa

失败并过滤

XSS攻击

28

PW-SEC-003

检查传输是否为SHA256

网络请求为哈希值

传输安全

29

PW-SEC-004

A*1000

失败,防溢出

缓冲区溢出

3.确认密码测试矩阵

编号

测试类型

用例编号

密码

确认密码

预期结果

1

有效等价类

CFM-V-001

Pass@123

Pass@123

通过

2

无效等价类

CFM-IV-001

Pass@123

pass@123

失败,大小写不一致

3

CFM-IV-002

Pass@123

Pass@124

失败,一个字符不同

4

CFM-IV-003

Pass@123

(空)

失败

5

CFM-IV-004

(空)

Pass@123

失败

6

前端验证

CFM-FE-001

修改JS绕过验证

后端仍需验证

安全考虑

4. 手机号测试矩阵

编号

测试类型

用例编号

输入值

预期结果

说明

1

有效格式

MOB-V-001

13800138000

通过

标准格式

2

MOB-V-002

19912345678

通过

19开头

3

无效格式

MOB-IV-001

1380013800

失败,11位

10位数字

4

MOB-IV-002

138001380000

失败,11位

12位数字

5

MOB-IV-003

23800138000

失败,1开头

非1开头

6

MOB-IV-004

1234567890a

失败,纯数字

含字母

7

MOB-IV-005

123 4567 8901

失败,纯数字

含空格

8

特殊值

MOB-IV-006

+8613800138000

失败,国际格式

含+86

9

MOB-IV-007

08613800138000

失败

含086

10

边界值

MOB-BV-001

10*10

通过

最小号码

11

MOB-BV-002

19*10

通过

最大号码

12

安全测试

MOB-SEC-001

13800138000' --

失败

SQL注入

13

MOB-SEC-002

<script>标签

失败

XSS攻击

14

并发唯一性

MOB-CON-001

同时注册同一手机号

仅一个成功

唯一性约束

2.2.2决策树测试场景

1.场景组合测试

编号

介绍

输入

预期

1

完全有效场景

有效账号+有效密码+匹配确认密码+有效手机+有效邮箱

注册成功

2

单个字段无效场景

分别测试每个字段的无效值,其他字段有效

注册失败,提示对应错误

3

多字段无效组合

测试2-3个字段同时无效

提示所有错误,不提交

4

唯一性冲突场景

测试重复注册相同账号/手机/邮箱

提示"已存在"

5

安全攻击场景

在各字段尝试XSS/SQL注入

失败并被过滤

2.2.3错误推测法补充用例

编号

用例编号

场景描述

预期结果

1

ERR-001

复制粘贴密码到确认密码字段

通过(正常情况)

2

ERR-002

密码字段显示明文(默认应隐藏)

显示为*或点

3

ERR-003

提交后快速点击多次注册按钮

仅处理一次提交

4

ERR-004

网络中断后提交

有相应错误处理

5

ERR-005

使用浏览器的自动填充功能

正常填充并可通过验证

6

ERR-006

页面刷新后已填内容是否保留

通常应清空(安全考虑)

7

ERR-007

密码输入时切换显示/隐藏

切换正常

8

ERR-008

Tab键切换字段顺序

符合逻辑顺序

9

ERR-009

超时后会话是否有效

需重新验证或提示

2.2.4并发测试场景

编号

场景编号

并发操作

预期结果

1

CON-001

100用户同时注册不同账号

全部成功

2

CON-002

10用户同时注册同一账号

仅1成功,其他失败

3

CON-003

同一用户多标签页注册

防重复提交机制生效

4

CON-004

注册过程中修改后端数据

事务完整性保证

2.2.5安全深度测试

编号

测试类型

测试点

预期结果

1

输入验证

SQL注入:' OR 1=1 --

被过滤,无SQL错误

2

XSS: <> alert()

被转义或过滤

3

路径遍历:../../../etc/passwd

被拒绝

4

传输安全

密码是否明文传输

必须为SHA256哈希

5

是否使用HTTPS

应使用HTTPS

5

存储安全

密码存储是否加盐哈希

应加盐SHA256

7

敏感信息是否加密存储

手机/邮箱应脱敏或加密

8

会话安全

注册成功后的跳转

应跳转安全页面

9

注册失败的信息泄露

不泄露系统信息

26+29+6+14+16+5+9+4+9=118

2.2.6测试执行建议

1.优先级排序

oP0:基本功能、必填项验证、格式验证

oP1:边界值、组合测试、唯一性验证

oP2:安全测试、并发测试、错误推测

2.自动化建议

o使用Selenium/Cypress进行UI自动化

o使用Postman/JMeter进行API和并发测试

o使用OWASP ZAP进行安全扫描

3.数据库验证

o验证数据正确存储

o验证唯一约束生效

o验证密码为哈希值

这个测试用例集覆盖了功能、安全、性能和用户体验等多个维度,可根据实际项目资源和时间进行优先级调整和执行。

下一篇
举报
领券