牛客网--专项训练--软件测试(待补充)


1、集成测试分为渐增组装测试和(非渐增组装测试 )

渐增组装测试,是测完一个再加上一个一起测试。 非渐增组装测试,是一个一个的测试。

2、海伦公式求三角形面积,等价类测试用例中无效等价类意思就是无法构成三角形的。

3、白盒测试是对代码内部的逻辑测试,有逻辑覆盖和路径测试两种方法,逻辑覆盖又包含:(强度由低到高)语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

        黑盒测试的方法有:等价类划分、边界值分析、因果图分析法,错误推断法等。边缘值分析法,黑盒测试的方法之一。所谓边缘值,是指输入和输出等价类中那些恰好处于边界、或超过边界、或低于边界的状态。因果图适用于输入数据有多种组合的情况。

4、软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误

5、程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。

6、软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。

7、QPS = req/sec = 请求数/

       QPS = 总请求数 / ( 进程总数 *   请求时间 )

      QPS: 单个进程每秒请求服务器的成功次数

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

       原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间

       公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)

       机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器、

8、软件测试计划评审会需要参加的人员有: 项目经理, SQA 负责人, 配置负责人, 测试组。

9、边界值测试一般会选择两种数据进行测试,而且选择测试数据是非常微小的变化,从而保正测试的准确性

10. 白盒测试关心的是内部代码,依据是设计文档。黑盒测试只关心输入输出,依据的是需求文档。

11. 软件测试的过程分为单元测试(也称模块测试)、集成测试(也称组装测试,联合测试)、确认测试(也称验收测试,有效性测试)和系统测试几个步骤。

系统测试包括:功能测试,性能测试,可靠性测试,安全性测试。

12. Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。Alpha测试是在受控的环境中进行的。

        Beta测试由软件的最终用户们在一个或多个客房场所进行。与Alpha测试不同,开发者通常在Beta测试的现场,因Beta测试是软件在开发者不能控制的环境中的“真实”应用。

       α测试是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。β测试是由软件的多个用户在实际使用环境下进行的测试。只有当α测试达到一定的可靠程度时,才能开始β测试。它处在整个测试的最后阶段。

13. 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。它不是软件测试的步骤。

14. v模型 

需求分析                            验收测试

    概要设计                    系统测试

        详细设计            集成测试

            编码            单元测试

                        V

15. 代码评审员一般由开发人员担任

16.  缺陷分两种:1、完全影响软件的正常运行或者影响客户的正常体验。这种当然不能予以通过。2、不影响产品运行及客户正常体验且此软件急于使用。以公司利益为出发,应予以通过。但在时间不紧急的情况下应不予通过。一个好的测试人员应该有很好的情况分析能力,并且要有担当

17. 桩函数,也叫stub函数,存根函数。用一个桩函数替换一些接口函数,用于测试当前函数的特性。 

      譬如说,要测试一个函数 f() 
        void f() 
         { 
           var = g(...); 
         } 

       f()函数中调用了函数 g(),但是在测试f()的时候g()函数可能还没有写出来 这时可以写一个g()的 存根(stub)函数,来模拟g()函数,例如让它仅仅返回一个值.这样的话就可以完成对函数f()的测试了. 

         桩模块(Stub)是指模拟被测试的模块所调用的模块,自顶向下的集成过程中尤其有效。

18. 软件测试用例主要由测试输入数据和测试的预期结果两部分组成。

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

20. 测试工具:

         LoadRunner-负载压力测试:预测系统性能。

        JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制 
功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。 

Junit:白盒测试工具:针对代码测试 
测试管理工具:对测试需求、计划、用例、实施进行管理 
测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备 

负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。 

功能测试: QTP(quicktest professional):自动测试工具 

白盒测试:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试) 

缺陷管理工具:Mantis、BugFree、QC、TD 

用例管理工具:TestLink、QC 

测试辅助工具:SVN

21. alpha测试测试环境尽量真实,由软件公司内部人员模拟各类用户对即将面世的软件产品进行测试, 测试人员在一旁记录发现的问题和缺陷;对于软件项目来说,在系统测试后,有验收测试(有用户参与);对于软件产品来讲,在系统测试后,有 alphabeta测试

22. 软件验收测试的合格通过准则是:

1)  软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。    

2)  所有测试项没有残余的一级二级三级的错误。  

3)  立项审批表、需求分析文档、设计文档和编码实现一致。

4)  验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)

23. 软件测试方法分类:

人工测试:个人复查,抽查和会审等

机器测试:

1) 按照否关软件内部结构具体实现角度划
A.白盒测试B.黑盒测试 C.灰盒测试 
2) 按照软件发程按阶段划
A.单元测试  B.集测试  C.确认测试  D.系统测试  E.验收测试 

24. 针对手机应用软件的系统测试,我们通常从如下几个角度开展:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等.

对手机可以施加的压力测试类型主要有:存储压力、边界压力、 响应能力压力、网络流量压力.

25. 错误推测法是指:在 测试 程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些 错误 的测试用例的方法。

26. 六种覆盖方法中,覆盖准则由弱到强依次是语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

语句覆盖是使得程序中每个语句至少被执行一次;

判定覆盖是使得程序中的每个分支至少都通过一次;

条件覆盖是使得判定中的每个条件获得各种可能的结果;

判定/条件覆盖是使得判定中的每个条件取到各种可能的值,并使每个判定取到各种可能的结果;

条件组合覆盖是使得每个判定中条件的各种可能组合都至少出现一次;

27. 路经测试法需要覆盖路径个数:基本路径=谓词节点+1 ;

谓词节点是指程序中的条件语句,该题中依次有while,if,if三个条件语句,故有四条基本路径。

28. 边界值法既可以用于黑盒测试用例,也可以用于白盒测试用例。白盒测试是根据内部逻辑进行测试,所以在我们知道了内部具体代码实现后,可以根据代码的边界值判断处理来进行测试。

29. 测试设计人员主要负责设计测试用例以及设计测试过程。制定测试计划应是测试经理来做的,评估测试活动测试经理组织召集开发和测试的相关人员来做。

30. loadrunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题, 可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。首先可以新建场景,编写不同的测试脚本。编写完成之后,就可以执行测试了;测试结束之后,就可以生成各种图表,进行结果分析。包括 脚本编辑工具, 测试执行工具, 结果分析工具。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页