测试理论二

1.软件测试的分类:

        1、按测试策略分类
             黑盒/白盒测试、动态/静态测试、手工/自动测试
         2、按测试阶段分类
             单元测试、集成测试、(确认测试)、系统测试、验收测试
        3、按测试方法分类

            功能测试、性能测试、压力测试、负载测试、易用性测试、安装测试、界面测试、配置测试、文档测试、兼容性测试、安全性测试、恢复测试

2.测试定义:

        单元测试:又称模块测试,是最小单位的测试,单元测试是在系统开发过程中进行的测试活动。目的是确保每个模块能正常工作。

        集成测试:又称综合测试,是在单元测试的基础上将通过测试的单元模块按照设计要求组装成系统或子系统,再进行测试。目的在于检验与软件设计相关的程序结构问题。

        确认测试:软件在由集成测试进入系统测试之前,需要对软件是否可以进入系统测试进行评估过程的测试。

        系统测试:是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机的硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际的运行环境下,对计算机系统进行全面的功能覆盖。

        验收测试:是软件产品交付用户正式使用前的最后一头工序,是以用户为主的测试。目的是向客户和承包人证明产品是可靠的。

3.    黑盒测试:又称功能测试、数据驱动测试或基于规格说明书的测试。
      白盒测试:又称结构测试、逻辑驱动测试或基于程序本身的测试。
      冒烟测试:对应用程序关键的功能进行的测试。

      回归测试:对某些已经进行过的测试的某些子集再重新进行一遍,已保证上述改变不会传播无法预料的副作用或引发的问题

4.      Alpha 测试:由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。

        Beta 测试:由软件的最终用户们在一个或多个客房场所进行。

5.      手工测试:
    由人来输入并执行用例,确认用例的执行结果和预期结果的差别
        自动化测试:

    自动化测试,是把以人为驱动的测试行为转化为机器执行的一种过程。

6.软件测试的原则:

        1). 尽早地进行软件测试,并把软件测试贯穿于整个软件生命周期。
        2). 软件测试应追溯需求。
        3). 测试应由第三方来构造。
        4). 穷举测试是不可能的,要遵循 Good-enough 原则。
        5). 必须确定预期输出结果。
        6). 必须彻底检查每个测试结果。
        7). 充分注意测试中的群集现象。80/20原则

        8). 其他值得注意的规律和经验。比如订单,要关注数量的锁定,缺货等情况,app要涉及到中断,兼容,扣费,网络

7.什么是评审:

        在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。

8.软件质量与软件过程的关系:

        软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。
        软件过程:软件生命周期中的活动,一般包括软件需求分析、软件设计、软件编码、软件测试、交付、安装和软件维护。

        软件过程的优劣决定了软件质量的高低,好的过程是高效高质量的前提。人员和过程是决定软件质量的关键因素,高质量的人员和好的过程应该得到好的产品。

9.测试工作流程:

        1、产品人员设计完原型和文档后,召开需求评审会,参会人员有开发,测试,产品。需求评审后之后,会产生一个完善之后的原型和需求文档。
        2、测试组负责人需要依据需求文档,项目周期、项目特点、工具、人员安排制定测试计划。

        3、测试人员就开始写测试用例(需要有冒烟测试用例和普通的测试用例),在写用例过程中会产生一些疑问,要及时和产品人员确认清楚,并要求他们回归需求文档。(开发就开始概要设计和编码)。

        4、测试人员完成用例后,组织测试用例评审。参与人员有开发,测试,产品。
        5、等待开发提交测试版本,提交后优先执行冒烟测试。冒烟测试的结果,需要邮件周知相关人,开发,测试,产品,其中重要的是开发领导,测试领导和产品。冒烟不通过等待开发重新提交版本,冒烟通过了进入执行用例进行测试阶段。
        6、测试阶段会发现一些问题,比如需求定义不明确,业务逻辑有冲突,要和相关人员沟通并定义清晰,得到结论后必须要求产品人员更新文档。

        7、每个人负责的模块测试结束后,小组内部要进行交叉测试(此时会进行一些性能测试)。

        8、测试通过后提交产品验收。产品验收期间协助产品验收。
        9、产品验收完毕后,项目部署仿真环境。此时需要线上的账号,所以一般也是产品和业务人员验收为主,各个公司情况不同,有些会给测试人员分配账号,进行基本流程的测试(细节视公司情况而定)。
        10、仿真环境ok了,部署线上。
        11、有些公司从测试环境提交验收的时间点开始,会要求写一些操作手册之类的文档,一些测试的报告,比如bug统计,bug的覆盖

猜你喜欢

转载自blog.csdn.net/unfinished_story/article/details/80540563
今日推荐