增加批量增加用例、测试项、设计需求功能
This commit is contained in:
Binary file not shown.
BIN
apps/project/tools/__pycache__/rj_data_cont.cpython-313.pyc
Normal file
BIN
apps/project/tools/__pycache__/rj_data_cont.cpython-313.pyc
Normal file
Binary file not shown.
@@ -10,6 +10,9 @@ from apps.project.models import (
|
||||
CaseStep
|
||||
)
|
||||
|
||||
# 导入人机交互界面固定数据
|
||||
from apps.project.tools.rj_data_cont import rj_data
|
||||
|
||||
def auto_create_jt_and_dm(user_name: str, dut_qs: Dut, project_obj: Project):
|
||||
"""传入源代码dut以及测试人员名称username,自动在dut下面生成静态分析和代码审查设计需求、测试项、用例"""
|
||||
# 先查询dut_qs下面有多少design,以便写里面的key
|
||||
@@ -188,20 +191,22 @@ def auto_create_wd(user_name: str, dut_qs: Dut, project_obj: Project):
|
||||
'testMethod': ["3"],
|
||||
'title': '文档审查',
|
||||
'testDesciption': '本次文档审查包括的内容如下:\a'
|
||||
'1)软件研制总结报告\a'
|
||||
'2)软件开发计划\a'
|
||||
'3)软件运行方案说明\a'
|
||||
'4)软件接口需求规格说明\a'
|
||||
'5)软件系统设计说明\a'
|
||||
'6)软件接口设计说明\a'
|
||||
'7)软件需求规格说明\a'
|
||||
'8)软件配置项设计说明\a'
|
||||
'9)软件测试说明\a'
|
||||
'10)软件测试报告\a'
|
||||
'11)产品规格说明\a'
|
||||
'12)软件版本说明\a'
|
||||
'13)软件用户手册\a'
|
||||
'14)固件保障手册',
|
||||
'1)软件需求规格说明\a'
|
||||
'2)软件详细设计说明\a'
|
||||
'3)软件开发计划\a'
|
||||
'4)软件配置管理计划\a'
|
||||
'5)软件质量保证计划\a'
|
||||
'6)软件单元测试计划\a'
|
||||
'7)软件单元测试说明\a'
|
||||
'8)软件单元测试报告\a'
|
||||
'9)配置项测试计划\a'
|
||||
'10)配置项测试说明\a'
|
||||
'11)配置项测试报告\a'
|
||||
'12)软件用户手册\a'
|
||||
'13)软件研制总结报告\a'
|
||||
'14)软件版本说明\a'
|
||||
'15)软件产品规格说明\a'
|
||||
'16)固件保障手册',
|
||||
'key': ''.join([new_wd_design_obj.key, '-', '0']),
|
||||
'level': '3',
|
||||
'project': project_obj,
|
||||
@@ -216,7 +221,10 @@ def auto_create_wd(user_name: str, dut_qs: Dut, project_obj: Project):
|
||||
operation='根据文档审查表人工逐项检查,检查此项目文档的齐套性、完整性、规范性:\a'
|
||||
'1)使用人工审查方法,按照附录A中文档齐套性审查单检查需求类、设计类、用户类、测试类文档是否齐套;\a'
|
||||
'2)使用人工审查方法,按照附录A中需求规格说明审查单对软件需求规格说明逐项检查;\a'
|
||||
'3)使用人工审查方法,按照附录A中软件设计文档审查单逐项检查。'
|
||||
'3)使用人工审查方法,按照附录A中软件设计文档审查单逐项检查。',
|
||||
expect='被测软件文档种类齐全,内容完整,描述准确,格式规范;\a'
|
||||
'2)需求文档内容完整,描述准确,格式规范,文档文文一致、文实相符;\a'
|
||||
'3)设计说明文档内容完整,描述准确,格式规范,文档文文一致、文实相符。',
|
||||
)
|
||||
new_wd_case_obj = Case.objects.create(
|
||||
ident='WDSC',
|
||||
@@ -247,3 +255,74 @@ def auto_create_wd(user_name: str, dut_qs: Dut, project_obj: Project):
|
||||
expect='文档满足完整性、准确性、规范性和一致性的要求',
|
||||
result='文档检查单全部审查通过,文档内容完整、文档描述准确、'
|
||||
'文档格式规范、文档文文一致', )
|
||||
|
||||
def auto_create_renji(user_name: str, dut_qs: Dut, project_obj: Project):
|
||||
"""传入用户名、在dut下创建、项目对象,自动创建人机交互界面的设计需求、测试项、测试用例"""
|
||||
# 先查询dut_qs下有多少desgin,用于设置key
|
||||
design_index = dut_qs.rsField.count()
|
||||
for item in rj_data:
|
||||
# 创建设计需求
|
||||
rj_design_create_dict = {
|
||||
'ident': item['ident'],
|
||||
'name': item['desgin_name'],
|
||||
'demandType': '6',
|
||||
'description': item['xq_desc'],
|
||||
'title': item['desgin_name'],
|
||||
'key': ''.join([dut_qs.key, '-', str(design_index)]),
|
||||
'level': '2',
|
||||
'chapter': '/',
|
||||
'project': project_obj,
|
||||
'round': dut_qs.round,
|
||||
'dut': dut_qs
|
||||
}
|
||||
design_index += 1
|
||||
new_design_rj: Design = Design.objects.create(**rj_design_create_dict)
|
||||
# 创建测试项
|
||||
rj_demand_create_dict = {
|
||||
'ident': item['ident'],
|
||||
'name': item['test_item_name'],
|
||||
'adequacy': item['chongfen'],
|
||||
'priority': '2',
|
||||
'testType': '12',
|
||||
'testMethod': ["4"],
|
||||
'testDesciption': '在界面进行观察与操作,对照需求规格说明的功能需求进行比对,对照用户手册进行比对',
|
||||
'title': item['test_item_name'],
|
||||
'key': ''.join([new_design_rj.key, '-', '0']),
|
||||
'level': '3',
|
||||
'project': project_obj,
|
||||
'round': new_design_rj.round,
|
||||
'dut': new_design_rj.dut,
|
||||
'design': new_design_rj,
|
||||
}
|
||||
new_demand_rj = TestDemand.objects.create(**rj_demand_create_dict)
|
||||
new_demand_content_obj = TestDemandContent.objects.create(testDemand=new_demand_rj,
|
||||
subName=item['test_item_name'])
|
||||
for operation in item['test_method']:
|
||||
TestDemandContentStep.objects.create(testDemandContent=new_demand_content_obj,
|
||||
operation=operation['caozuo']
|
||||
, expect=operation['yuqi'])
|
||||
# 创建测试用例
|
||||
new_case_rj = Case.objects.create(
|
||||
ident=item['ident'],
|
||||
name=item['test_item_name'],
|
||||
initialization='已获取被测件的用户手册',
|
||||
premise='软件可正常运行,界面初始化完成',
|
||||
summarize=item['xq_desc'],
|
||||
designPerson=user_name,
|
||||
testPerson=user_name,
|
||||
monitorPerson=user_name,
|
||||
project=project_obj,
|
||||
isLeaf=True,
|
||||
round=new_demand_rj.round,
|
||||
dut=new_demand_rj.dut,
|
||||
design=new_demand_rj.design,
|
||||
test=new_demand_rj,
|
||||
title=item['test_item_name'],
|
||||
key=''.join([new_demand_rj.key, '-', '0']),
|
||||
level='4'
|
||||
)
|
||||
for operation in item['test_method']:
|
||||
CaseStep.objects.create(case=new_case_rj,
|
||||
operation=operation['caozuo'],
|
||||
expect=operation['yuqi'],
|
||||
result='界面操作结果符合预期', )
|
||||
|
||||
141
apps/project/tools/rj_data_cont.py
Normal file
141
apps/project/tools/rj_data_cont.py
Normal file
@@ -0,0 +1,141 @@
|
||||
# 人机交互界面测试自动生成
|
||||
rj_data = [
|
||||
{
|
||||
"desgin_name": "人机交互完整性",
|
||||
"test_item_name": "人机交互完整性测试",
|
||||
"ident": "WZXC",
|
||||
"xq_desc": "测试软件人机交互界面的完整性",
|
||||
"chongfen": "测试用例覆盖人机交互界面完整性子项要求的全部内容。\a"
|
||||
"所有用例执行完毕,对于未执行的用例说明未执行原因。",
|
||||
"test_method": [
|
||||
{
|
||||
"caozuo": "检查界面菜单名称、标签名称、按键名称的完整性",
|
||||
"yuqi": "名称完整"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面显示区内容的完整性",
|
||||
"yuqi": "显示内容完整"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面菜单功能的完整性",
|
||||
"yuqi": "菜单功能完整"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"desgin_name": "人机交互界面一致性",
|
||||
"test_item_name": "人机交互界面一致性测试",
|
||||
"ident": "YZXC",
|
||||
"xq_desc": "测试软件人机交互界面的一致性",
|
||||
"chongfen": "测试用例覆盖人机交互界面一致性子项要求的全部内容。\a"
|
||||
"所有用例执行完毕,对于未执行的用例说明未执行原因。",
|
||||
"test_method": [
|
||||
{
|
||||
"caozuo": "检查主界面的标题栏与使用说明书的一致性",
|
||||
"yuqi": "主界面的标题栏与用户手册一致"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查次级界面、对话框等标题与使用说书的一致性",
|
||||
"yuqi": "次级界面、对话框等标题与用户手册一致"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面用语与使用说明书的一致性",
|
||||
"yuqi": "界面用语与用户手册一致"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面的字体、颜色、位置等是否统一、字体是否对齐",
|
||||
"yuqi": "界面的字体、颜色、位置等与用户手册一致"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查同类数据的显示精度是否正确、统一",
|
||||
"yuqi": "同类数据的显示精度与用户手册一致,精确并统一"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"desgin_name": "人机交互界面友好性",
|
||||
"test_item_name": "人机交互界面友好性测试",
|
||||
"ident": "YHXC",
|
||||
"xq_desc": "测试软件人机交互界面的友好性",
|
||||
"chongfen": "测试用例覆盖人机交互界面友好性子项要求的全部内容。\a"
|
||||
"所有用例执行完毕,对于未执行的用例说明未执行原因。",
|
||||
"test_method": [
|
||||
{
|
||||
"caozuo": "检查界面实时显示信息区是否实时刷新",
|
||||
"yuqi": "实时刷新"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查提示信息显示位置是否合理、提示框或弹窗是否居中显示",
|
||||
"yuqi": "合理、弹窗居中"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面用语、名称等是否存在错别字、乱码等",
|
||||
"yuqi": "无错别字或乱码"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面字符显示是否清晰",
|
||||
"yuqi": "字符显示清晰"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查界面字符或提示语是否统一、汉化",
|
||||
"yuqi": "统一汉化显示"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"desgin_name": "人机交互界面易操作性",
|
||||
"test_item_name": "人机交互界面易操作性测试",
|
||||
"ident": "YCZX",
|
||||
"xq_desc": "测试软件人机交互界面的易操作性",
|
||||
"chongfen": "测试用例覆盖人机交互界面易操作性子项要求的全部内容。\a"
|
||||
"所有用例执行完毕,对于未执行的用例说明未执行原因。",
|
||||
"test_method": [
|
||||
{
|
||||
"caozuo": "检查界面菜单、图标、按键等是否分布整齐、有序",
|
||||
"yuqi": "分布整齐有序"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查菜单深度的合理性",
|
||||
"yuqi": "菜单深度不超过3级"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"desgin_name": "人机交互界面操作测试",
|
||||
"test_item_name": "人机交互界面操作测试测试",
|
||||
"ident": "CZCC",
|
||||
"xq_desc": "测试软件人机交互的界面操作测试",
|
||||
"chongfen": "测试用例覆盖人机交互界面操作测试子项要求的全部内容。\a"
|
||||
"所有用例执行完毕,对于未执行的用例说明未执行原因。",
|
||||
"test_method": [
|
||||
{
|
||||
"caozuo": "检查按键、编辑框等使能情况(闪烁)",
|
||||
"yuqi": "闪烁"
|
||||
},
|
||||
{
|
||||
"caozuo": "执行任务期间,进行按键的多处连击",
|
||||
"yuqi": "不会出现假死或崩溃"
|
||||
},
|
||||
{
|
||||
"caozuo": "检查列表,列表中的内容允许编辑、数据变更后自动更新显示",
|
||||
"yuqi": "内容允许编辑、数据变更后自动更新显示"
|
||||
},
|
||||
{
|
||||
"caozuo": "能够进行选择和取消,选择及取消后处理正确",
|
||||
"yuqi": "能够进行选择和取消,选择及取消后处理正确"
|
||||
},
|
||||
{
|
||||
"caozuo": "选择或取消某个单选框后再进行复选操作",
|
||||
"yuqi": "操作正确"
|
||||
},
|
||||
{
|
||||
"caozuo": "执行一个任务,查看界面操作及显示的正确性",
|
||||
"yuqi": "界面操作及显示正确"
|
||||
},
|
||||
{
|
||||
"caozuo": "在一个菜单功能项执行过程中用使用按钮选择其他功能",
|
||||
"yuqi": "不会出现假死或崩溃情况"
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user