zoukankan      html  css  js  c++  java
  • 测试基础

    1. 黑盒测试和白盒测试常用的测试方法有哪些?

    a. 白盒测试:逻辑覆盖法,主要包括语句覆盖,判断覆盖,条件覆盖,判断条件覆盖,条件组合覆盖,路径覆盖。

    b. 黑盒测试:等价类划分,边界值分析,错误推测法,因果图法等

    2. 静态测试和动态测试的概念。

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

    b. 动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能;这种方法由三部分组成:构造测试实例、执行程序、分析程序的结果。所谓的软件的动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性。目前,动态测试也是公司的测试工作的主要方式。动态测试分:单元测试,集成测试,系统测试,验收测试,回归测试

    3. 等价类有几种,含义分别是什么?

    a. 有效等价类和无效等价类

    b. 有效等价类就是对程序的规格说明有意义的,合理的输入数据所构成的集合,利用有效等价类可以验证程序是否实现了规格说明中的功能和性能

    c. 无效等价类是那些对程序的规格说明不合理或者无意义的数据所构成的,为了验证程序组其不应作的事情。

    4. 网络协议有几层,哪几层?

    a. 7层(应用层(HTTP, FTP),表示层,会话层,传输层(TCP/UDP),网络层(ARP/IP),数据链路层,物理层)

    5. 等价类划分的优缺点:

    a. 优点:考虑了单个数据域的各类情况,避免盲目或随机的选取输入数据的不完整性和不稳定性,同时可有效控制测试设计的数量。

    b. 对组合情况考虑不足,同时等价类划分基于等价类中的输入都能产生相同的效果,在很多情况下用例选择不当会产生问题(如边界)。

    6. 边界值测试方法的优缺点:

    a. 经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部,因此可以通过边界值发现更多的错误

    b. 但是由于 边界值过于单一,没有考虑到输入之间的组合,所以引入其他测试方法将达到更高的效率。

    7. 等价类划分的原则:

    a. 实际上是确定有效等价类和无效等价类的关键

    8. 性能测试:如何评价系统的极限性能

    a. 基本点:并发度、响应时间、单位时间吞吐量、系统稳定性、多场景

    b. 家分点:新旧版本对比、性能瓶颈分析方法(雪崩、线性拐点等)。

    9. 判断测试活动终止的条件:

    a. 无新发生的bug而且严重性高的老bug已经修复;bug收敛;某一级别bug低于一定比例;没有时间了;满足特定覆盖率;

    10.常见测试模型:

    i. 瀑布模型:形如瀑布,逐层下落;测试进行的很晚,测试活动的压力很大。

    ii. V模型:以编码为转折点,后续上走;测试活动靠后

    iii. W模型:与V&V模型相对应,在开发阶段同步进行测试活动,开发一个V,测试一个V,而且两个V有层次对应关系。局限性在于:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动不能支持迭代。

    iv. H模型:将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。H模型认为,软件项目很多并不是在明确的需求之后才开始设计的。所以,相应的测试之间也不存在严格的次序关系。H模型贯穿在整个开发的生命周期,与其他流程兵法进行。

    11. 杯子的测试:

    a. 冒烟测试:装一杯水,看是否漏水

    b. 功能测试:漏水测试,透明度测试,卫生情况测试,被扣平滑测试,重量测试,均匀度测试

    c. 压力测试:抗摔测试,抗高温测试

    12.函数的参数在栈中的顺序:从右向左(左边的存在栈底,右边的存在栈顶)

    13.链表和数组的优缺点:

    a. 链表:链表是一块不连续的动态空间、长度可变;链表需要按顺序检索节点,效率低;链表的优点是插入和删除节点快,大小动态分配,长度不固定;链表不存在越界问题

    b. 数组:数组是一块连续的空间,生命时长度就需要固定。数组的优点是速度快,数据操作直接使用偏移地址。数组有越界问题。

    14.数据库事务的四大特性(ACID):

    a. 原子性-atomic,一致性-consistency,分离性-isolation,持久性-durability

    15. ASCII码-十进制对应关系:

    a. 0--48  9--57  A--65  Z--90  a--97  z--122

    16.原码反码补码,正数的原反补码都一样,而负数的补码则是源码的反码+1:

    a. [+7]正 = 0 0000111  [-7]正 = 1 0000111

    b. [+7]反 = 0 0000111  [-7]反 = 1 1111000

    c. [+7]补 = 0 0000111  [-7]补 = 1 1111001

    d. [+0]正 = 0 0000000  [-0]正 = 1 0000000

    e. [+0]反 = 0 0000000  [-0]反 = 1 1111111

    f. [+0]正 = 0 0000000  [-0]正 = 0 0000000

    17. Different between DELETE & TRUNCATE:

    a. Delete: DML语言,可以回退,可以有条件的删除

    b. Truncate: DDL语言,无法回退,默认所有的表内容都删除,删除速度比delete快

    18.数据库如何优化:

    a. 索引,优化SQL语句,转移历史数据,数据库分表,存储过程,触发器,硬件升级,磁盘I/O

    b. SQL优化:慎用IN或者NOT IN,慎用试图的联合查询,

    19.基于WEB信息管理系统测试时应考虑哪些因素?

    a. 功能测试:连接测试-保证所有页面都存在;表单测试-表单提交成功;Cookies-登陆后的用户打开新页面不用再登陆,登陆后的用户再次登陆不需要输入用户名密码;设计语言测试-不同浏览器打开的界面显示;数据库测试-输入正确的数据返回正确的数据,而输入错误的数据返回错误的结果;

    b. 性能测试:连接速度测试-打开页面时间统计,负载测试,压力测试

    i. 负载测试,模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。

    ii. 压力测试: 在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。

    iii. 负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。负载测试的加载方式也有很多种,可以根据测试需要来选择。 性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。 压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。

    c. 可用性测试:导航测试,图形测试,内容测试,整体界面测试,客户端兼容测试,安全性测试(sql注入等等)

    路慢慢其休远羲,吾将上下而求所
  • 相关阅读:
    【Spring cloud 系列】:构建Spring cloud (01)
    【MyBatis系列】:SpringMvc+MyBatis之初始化建表(01)
    【Log4J 系列】:log4j 整合SpringMVC+MyBatis 实现日志记录(01)
    【SSO单点系列】:CAS4.0 CAS整合SpringMVC+MyBatis实现数据库校验(04)
    【maven系列】:maven构建模块化项目之SpringMVC整合Mybatis (01)
    【maven系列】:maven构建模块化项目之SpringMVC (02)
    【MAVEN系列】:maven构建模块化项目之SpringMVC (01)
    杂篇
    Android anr 问题处理步骤
    关于App的launcherActivity重复启动的问题
  • 原文地址:https://www.cnblogs.com/garinzhang/p/2548640.html
Copyright © 2011-2022 走看看