软件测试

主要考察的是白盒测试的几种方法概念:
语句覆盖
主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次(走通一遍)
判定覆盖
主要特点:判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。(if(a=0||b=0),分为a等于或a不等于,注重判定结果,而不对括号内条件所有情况进行考察)主要是判定的结果
条件覆盖
主要特点:条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。(对于a>0&&b>0条件,a与b不同时取大于0,同样完成每个条件取真假值要求,但是没有包含判定为true的情况。也是就走一遍,不对结果要求)主要是条件语句各种情况
判定/条件覆盖
主要特点:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。(可能TT,FF各走一遍,但是缺少TF,FT情况)
组合覆盖
主要特点:要求设计足够多的测试用例,使得每个判定中条件取值的所有可能组合至少出现一次。(全,但是冗余(会出现相同路径)
路径覆盖
主要特点:设计足够的测试用例,覆盖程序中所有可能的路径。(全,所有路组合都过一遍,但是自己画路可能缺)
。。。。。。。。。。。
一个名词:测试驱动开发TDD Test Driven Development
测试流程:如下第3步骤,在1,2需求文档确定后,人员时间安排到位,就可以开始了
  1. 需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team
  2. 测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager(该项属于测试阶段的人力安排,不属于测试必要步骤)
  3. 用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester
  4. 执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员)
  5. 执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员)
  6. defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester
  7. 测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug
  8. 用户体验、软件发布等……

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试

单元测试能发现约80%的软件缺陷,因为缺陷放大理论,在单元测试阶段发现的bug会在系统测试阶段被放大,放大倍数完全符合80/20理论。

语说明:
QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】

QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 *   请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8

服务器计算
服务器数量 =   ceil( 每天总PV / 单台服务器每天总PV )

【峰值QPS和机器计算公式】

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS   = 需要的机器

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3

软件验收测试分为三类:

正式验收测试;

非正式验收测试其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试。)

                                  和β测试(内测后的公测,即完全交给最终用户测试。)

posted @ 2019-10-16 23:43  spearmint  阅读(84)  评论(0)    收藏  举报