java测试---测试分类法(二)(按测试实施组织划分、按是否运行程序划分、按是否手工划分)

1. 按测试实施组织划分

1.1 α测试(Alpha Testing)

由用户在开发环境下测试。
优点:有利于和测试、开发人员及时解决,时间统筹更集中
缺点:容易受测试、开发人员的影响

1.2 β测试(Beta Testing)

由软件的使用者,在一个或者多个场所进行测试,该环境往往是用户使用的环境。
优点:测试环境是用户实际使用环境,有利于问题发现
缺点:耗时更久
(α测试一般先于β测试)

1.3 第三方测试

软件测评机构进行测试。

2. 按是否运行程序划分

2.1 静态测试

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
代码静态分析和文档测试都属于静态测试

2.2 动态测试

动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
大多数软件测试工作都属于动态测试

3. 按是否手工划分

3.1 手工测试

手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。
优点:更灵活,有着自动化无法替代探索性测试、发散思维结果的测试。
缺点:执行效率慢,量大易错。

3.2 自动化测试

就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。

  1. 自动化测试工具:
    selenium,做功能自动化测试;
    jmeter,接口自动化测试、性能自动化测试;loadrunner,性能测试;
    appium,APP端的功能自动化测试

  2. 框架:
    java:testNG
    python:unittest
    Robertframework

  3. 自动化实施步骤:
    ① 完成功能测试,版本基本稳定
    ② 根据项目特性,选择适合项目的自动化工具,并搭建环境
    ③ 提取手工测试的测试用例转化为自动化测试的用例
    ④ 通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期
    ⑤ 生成自动测试报告
    ⑥ 持续改进,脚本优化。

  4. 自动化测试包括功能测试自动化、性能测试自动化、安全测试自动化。通常所说的自动化是指功能测试自动化。

  5. 自动化测试按照测试对象来分,还可以分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比UI测试高。

你可能感兴趣的:(程序人生,java,软件测试)