基于BDD的自动化测试方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:21453785 阅读:30 留言:0更新日期:2019-06-26 04:44
本申请实施例属于人工智能领域,涉及一种基于BDD的自动化测试方法,包括根据项目需求预设项目行为,所述项目行为描述所述项目的业务场景,所述业务场景包括前提假设、实施步骤和预设结果;将所述前提假设、实施步骤中的所有步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例;对所述测试用例进行测试并生成测试报告。本申请还提供一种基于BDD的自动化测试装置、计算机设备及存储介质。本申请通过降低测试项目师和业务专家的协作难度和工作量,以快速将所述项目行为生成测试用例并提高测试覆盖率,以降低后期维护和扩展的难度。

【技术实现步骤摘要】
基于BDD的自动化测试方法、装置、计算机设备及存储介质
本申请涉及人工智能
,具体涉及自动测试
,尤其涉及一种基于BDD的自动化测试方法。
技术介绍
软件测试就是对一个软件系统从功能上进行确认测试和验证测试,从性能上进行压力测试和负载测试,以及对系统的配置测试和兼容性测试等,从类别上又有单元测试,集成测试,回归测试,所有的这些测试工作都有一个目的:交付一套高质量的软件系统。通过测试,尽可能早的找出软件缺陷,并确保其得以修复。行为驱动开发(BehaviorDrivenDevelopment,简称BDD),是一种敏捷软件开发的技术,降低对软件测试人员的使用门槛,它鼓励软件项目中的开发者、QA(QualityAssurance,质量保证)和非技术人员或商业参与者相互协作,以降低QA的自动化脚本编写门槛。BDD在项目之初,由客户、开发人员、测试人员一起通过充分的沟通对系统的行为进行设计,由测试人员用脚本语言编写可以描述系统行为的测试用例,然后由开发人员编写相关的实现代码,并确保该测试用例通过。循环这个过程实现整个系统的功能。业界移动端测试大多看重覆盖率,然而在基于BDD的开发过程中,开发者、QA和非技术人员或商业参与者之间的相互协作占用整个开发的大量时间,并且难以做好大而全的功能验证以及出现代码维护难或扩展不易等问题。
技术实现思路
本申请实施例的目的在于提出一种基于BDD的自动化测试方法、装置、计算机设备及存储介质,以使非技术人员以及没有技术知识背景的商业参与者等可以直接参与测试用例的设计,减少在BDD的开发过程中,发者、QA和非技术人员或商业参与者之间的沟通协作时间,从而提高开发效率。为了解决上述技术问题,本申请实施例提供一种基于BDD的自动化测试方法,采用了如下所述的技术方案:一种基于BDD的自动化测试方法,包括下述步骤:根据项目需求预设项目行为,所述项目行为描述所述项目的业务场景,所述业务场景包括前提假设、实施步骤和预设结果;将所述前提假设、实施步骤中的每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例;对所述测试用例进行测试并生成测试报告。进一步地,所述根据项目需求预设项目行为的步骤具体包括:对所述前提假设、实施步骤和预设结果进行模块化封装;根据需求设置所述前提假设、实施步骤和预设结果的控件;在相应的控件中输入所述前提假设、实施步骤和预设结果的描述;提交所述项目行为到服务器。进一步地,在所述将所述前提假设、实施步骤中的每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例的步骤之前,所述方法还包括:根据所述业务场景的需求预设所述前提假设和/或所述实施步骤的参数个数及参数类型。进一步地,所述将所述前提假设、实施步骤中的所每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例,具体包括:获取所述业务场景的前提假设、实施步骤和预设结果;抽离所述前提假设、实施步骤和预设结果中的动作和状态,对应每一个动作或者状态生成一个测试步骤;将所述测试步骤中的状态翻译成通用命令中的对象,所述动作翻译为所述通用命令中的功能;设置所述通用指令的执行顺序,生成测试用例。进一步地,所述抽离所述前提假设、实施步骤和预设结果的动作和状态,具体包括:对于设有多种属性的测试步骤至少抽离一种状态或者动作。进一步地,所述将所述项目行为翻译成通用指令,生成测试用例,还包括:修改所述测试用例,具体包括:修改所述测试用例中的参数;和/或增加所述测试用例的测试步骤;和/或删除所述测试用例中的测试步骤;和/或修改已存在的所述测试步骤。进一步地,所述对所述测试用例进行测试并生成测试报告,具体包括:选择测试设备;搭建与所述测试用例相应的测试环境;设置所述测试用例的参数,对所述测试用例进行测试;生成测试报告。为了解决上述技术问题,本申请实施例还提供一种基于BDD的自动化测试装置,采用了如下所述的技术方案:一种基于BDD的自动化测试装置,包括:预设模块,用于根据项目需求预设项目行为,所述项目行为描述所述项目的业务场景,所述业务场景包括前提假设、实施步骤和预设结果;测试用例生成模块,用于将所述前提假设、实施步骤中的所有步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例;自动测试模块,用于对所述测试用例进行自动测试并生成测试报告。为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述的基于BDD的自动化测试方法的步骤。为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的基于BDD的自动化测试方法的步骤。与现有技术相比,本申请实施例主要有以下有益效果:在本申请实施例中,通过使用自然语言描述所述测试用的项目行为,描述清晰,以降低测试项目师和业务专家的协作难度和工作量,以快速将所述项目行为生成测试用例并提高测试覆盖率,以降低后期维护和扩展的难度。通过自动化对测试用例进行重复测试以及验证测试用例集对程序逻辑流程和控制流程的覆盖等,以提高测试效率。本申请实施例通过用最合理的方式轻松实现测试驱动开发,实现操作动作及验证结果的全部编写,适用性强。附图说明为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请的基于BDD的自动化测试方法的一个实施例的流程图;图2是图1中步骤S101的一种具体实施方式的流程图;图3是图1中步骤S102的一种具体实施方式的流程图;图4是图1中步骤S103的一种具体实施方式的流程图;图5是根据本申请的基于BDD的自动化测试装置的一个实施例的结构示意图;图6是图5所示预设模块一种具体实施方式的结构示意图;图7是根据本申请的计算机设备的一个实施例的结构示意图。具体实施方式除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。为了使本
的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。请参考图1,示出了根据本申本文档来自技高网
...

【技术保护点】
1.一种基于BDD的自动化测试方法,其特征在于,包括下述步骤:根据项目需求预设项目行为,所述项目行为包括前提假设、实施步骤和预设结果;将所述前提假设、实施步骤中的每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例;对所述测试用例进行测试并生成测试报告。

【技术特征摘要】
1.一种基于BDD的自动化测试方法,其特征在于,包括下述步骤:根据项目需求预设项目行为,所述项目行为包括前提假设、实施步骤和预设结果;将所述前提假设、实施步骤中的每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例;对所述测试用例进行测试并生成测试报告。2.根据权利要求1所述的基于BDD的自动化测试方法,其特征在于,所述根据项目需求预设项目行为的步骤具体包括:对所述前提假设、实施步骤和预设结果进行模块化封装;根据需求设置所述前提假设、实施步骤和预设结果的控件;在相应的控件中输入所述前提假设、实施步骤和预设结果的描述;提交所述项目行为到服务器。3.根据权利要求1所述的基于BDD的自动化测试方法,其特征在于,在所述将所述前提假设、实施步骤中的每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例的步骤之前,所述方法还包括:根据所述业务场景的需求预设所述前提假设和/或所述实施步骤的参数个数及参数类型。4.根据权利要求1所述的基于BDD的自动化测试方法,其特征在于,所述项目行为包括静态的状态和动态的动作,所述将所述前提假设、实施步骤中的每个步骤和所述预设结果都对应生成为一个测试步骤,翻译成通用指令,生成测试用例,具体包括:获取所述业务场景的前提假设、实施步骤和预设结果;抽离所述前提假设、实施步骤和预设结果中的动作和状态,对应每一个动作或者状态生成一个测试步骤;将所述测试步骤中的状态翻译成通用命令中的对象,所述动作翻译为所述通用命令中的功能;设置所述通用指令的执行顺序,生成测试用例。5.根据权利要求4所述的基于BDD的自动化测试方法,其特征在于,所述项目行为设置多种属...

【专利技术属性】
技术研发人员:何邱
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1