测试用例相关知识

单元测试用例

单元测试用例有人总结出来了编写用例的3A原则,分别是

  • Arrange: 初始化测试对象或者准备测试数据
  • Act : 调用被测方法
  • Assert: 断言

给一个例子(c#)

[TestMethod]  
public void Withdraw_ValidAmount_ChangesBalance()  
{  
    // arrange  
    double currentBalance = 10.0;  
    double withdrawal = 1.0;  
    double expected = 9.0;  
    var account = new CheckingAccount("JohnDoe", currentBalance);  
    // act  
    account.Withdraw(withdrawal);  
    double actual = account.Balance;  
    // assert  
    Assert.AreEqual(expected, actual);  
}  

服务间的接口测试用例

服务间的接口测试实际上是黑盒测试,3A原则也适用于这种测试用例的编写

  • Arrange: 准备测试数据,这里的方案会有很多
  • Act : 使用各种参数调用被测接口
  • Assert: 断言

举个例子(python)

def test_get_task_by_id(self):
# arrange
        create_task_res = self.create_task('test', 'desc')
        new_id = create_task_res['id']

        # act
        url_for_get_by_id = self.ip + '/api/tasks/' + str(new_id)
        res = requests.request("GET", url_for_get_by_id).json()
        
        # assert 
        self.assertEqual(res['id'], new_id)

手工测试用例

手工的功能测试用例也可以用3A原则来编写。

  • Arrange: 准备被测功能相关的测试数据,比如往系统里录入一批工单以便测试工单的分页功能
  • Act : 调用被测的功能,实际上这就是我们一直讲的测试步骤
  • Assert: 断言

举个例子

# arrange and act
打开chrome浏览器并跳转至http://localhost/wordpress/wp-login.php
在用户名文本框中输入admin
在密码文本框中输入admin
点击登陆按钮
# assert
浏览器跳转到http://localhost/wordpress/wp-admin/
右上角出现“你好,amdin”字样

在一些测试团队中,手工测试用例会在测试人员之间进行传播,比如李雷写了手工测试用例,韩梅梅则是用例的执行者。如果李雷的测试用例写的比较抽象派和印象派,韩梅梅是很难去直接执行的,所以会有一些测试团队强调尽量编写可以让人理解,也就是不用脑补的手工测试用例。但是写的越精确花费的时间就越长,如果项目周期紧张的话,是没有充足的时间去写完备的测试用例的。

在这种情况下,一些有经验的测试人员会写一些测试大纲,相当于是测试备忘录,提醒自己该测哪些情况,不要有遗漏,比如

登录成功的情况
登录失败:用户名密码为空
登录失败:密码不对
登录失败:只输用户名不输密码

用例的维护

用例的维护成本往往是很高的

  • 单元测试用例: 被测代码发生变化时单元测试用例需要相应更新
  • 服务间接口用例:被测服务的接口或逻辑发生变化时需要相应更新
  • 手工测试用例:需求变化了用例就要跟着改

保证用例跟需求的一致性一直是很大的挑战。这也是TDD测试驱动开发所希望解决的问题——如果需求文档直接是可以执行的测试用例,需求跟用例合二为一自然就不存在同步的困难了。


软件测试基础入门

黑马程序员最新软件测试视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)
Linux系统2天快速入门Linux系统操作教程2天快速入门linux项目搭建
MySQL数据库软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习
Python自动测试教程 黑马程序员Python自动测试教程,python从基础到UnitTest框架管理测试用例

自动化测试
Web自动化软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境
Appium框架视频 黑马程序员零基础入门移动自动化测试——Appium框架
Appium进行IOS真机自动化测试 轻松教你使用Appium进行IOS真机自动化测试【黑马程序员】

接口测试黑马程序员4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)

性能测试黑马程序员性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)

综合项目强化
微信小程序自动化测试软件测试微信小程序自动化测试实战
金融项目功能测试软件测试4天快速搞定金融项目功能测试实战教程

一键收藏不谢

你可能感兴趣的:(功能测试,测试用例)