乐趣区

全面提升测试技术

白盒测试之代码审查

代码审查范畴

合格代码应该具备正确性、清晰性、规范性、一致性和高效性

  1. 业务逻辑的审查
  2. 算法的效率
  3. 代码格调
  4. 编程规定

代码审查的办法

  1. 互查:在雷同模块或者相近模块的编程人员之间互相查看对方的代码
  2. 走查:从头到尾将写好的代码查看一遍
  3. 代码审查

    1. Java 最根本语句的应用
    2. 重载函数的审查
    3. 内存调配和治理:确保内存的及时开释和防止缓冲区溢出
    4. 程序性能的审查

      1. 缩小创立用户
      2. 缩小循环体的执行代码,能放在循环体外的代码要尽量放在循环体外
      3. 进步解决异样出错的效率
      4. 缩小 I/O 操作工夫

白盒测试方法 - 逻辑笼罩

单元测试:软件测试中最根底的测试,集成测试、功能测试和零碎测试都建设在单元测试之上;其对象是形成软件产品或者零碎的最小的独立单元,如封装的类或者对象、独立的函数、过程、子过程、组件或者模块等

用例设计

对于单元测试用例的设计和程序的实现过程,次要集中在白盒测试方法之上,并力求达到下列测试要求:

  1. 对程序模块所有独立的执行门路至多要测试一次
  2. 对所有逻辑断定,其后果为真、假两种状况至多要测试一次
  3. 对程序进行边界查看(常见的如数据越界测验)
  4. 测验外部数据结构的有效性

逻辑笼罩法 :白盒测试中最次要的测试方法

分类 :其根本思维不同,产生的测试用例不同,覆盖范围也有所不同

  • 语句笼罩
  • 断定笼罩
  • 条件笼罩
  • 断定 - 条件笼罩
  • 条件组合笼罩

语句笼罩 :设计若干测试用例,运行被测试程序,使程序中的每个可执行语句至多被执行一次

  • 有余:不能精确判断运算中的逻辑关系谬误

断定笼罩 :使每个判断的取真值和取假值都至多经验一次

条件笼罩 :使每一个条件的取真值和取假值都至多经验一次

断定 - 条件笼罩 :确保设计足够或精美的自测用例,可使得判断条件中所有的可能取值至多被执行一次,同时所有判断的可能构造也至多被执行一次

条件组合笼罩 : 设计足够的测试用例,使判断中每一个条件的所有可能至多呈现一次,而且每个判断自身的断定后果也至多呈现一次。

  • 与断定 - 条件笼罩的差异:条件组合笼罩不是简略地要求每个条件都呈现“真”与“假”两种后果,而是要求让这些后果的所有可能组合都至多呈现一次

自动化测试

把手工测试转化为用机器,软件,程序来测试产品的过程

作用

  • 缩短软件开发测试周期,能够让产品更快投放市场
  • 测试效率高,充分利用硬件资源
  • 节俭人力资源,升高测试老本
  • 加强测试的稳定性和可靠性
  • 进步软件测试的准确度和精确度,减少软件信任度
  • 软件测试工具使测试工具绝对比拟容易,但能产生更高质量的测试后果

适宜应用自动化测试的我的项目

  1. 需要变更有计划性,并且频率不高
  2. 我的项目周期长,资源丰盛
  3. 脚本反复利用率高
  4. 代码标准

手工测试更适宜测业务逻辑,自动化测试适宜用来测十分根底、没有业务依赖的根底性功能

平安测试

Web 利用的概念

  • 由动静脚本、编译过的代码等组合而成
  • 它通常架设在 web 服务器上,用户在 web 浏览器上发送申请
  • 这些申请应用 HTTP 协定,由 web 利用和企业后盾的数据库及其他动静内容通信

Web 利用平安威逼

  1. 验证:用来确认某用户、服务或是利用身份的攻打伎俩
  2. 受权:用来决定是否某用户、服务或是利用具备执行申请动作必要权限的攻打伎俩
  3. 客户侧攻打:用来扰乱或是探测 web 站点用户的攻打伎俩
  4. 命令执行:在 web 站点上执行近程命令的攻打伎俩
  5. 信息裸露:用来获取 web 站点具体零碎信息的攻打伎俩
  6. 逻辑性攻打:用来扰乱或是探测 web 应用逻辑流程的攻打伎俩

OWASP 10 大安全漏洞

  1. 注入:SQL 注入
  2. 生效身份认证和会话治理
  3. 跨站脚本:XSS
  4. 生效的访问控制
  5. 平安配置谬误
  6. 敏感信息泄露
  7. 跨站申请伪造:CSRF
  8. 应用含有破绽的控件
  9. 攻打检测和防备有余
  10. 未受爱护的 APIs

流程

不同测试的先后顺序

  1. 功能测试
  2. 自动化测试
  3. 平安测试:在此期间会有较多代码批改,影响性能测试
  4. 性能测试

平安审计

自动化审计工具:AppScanWeblnspect

不倡议依赖审计工具,尽可做长期或紧急应用

性能测试

意义 :多个客户端同时拜访造成压力

概念 :包含执行效率、资源占用、零碎稳定性、安全性、兼容性、可靠性、可扩展性

是形容测试对象与性能相干的特色,并对其进行评估而实现和执行的一类测试。次要通过自动化的测试工具模仿多种失常、峰值以及异样负载条件下,对系统的各项性能指标进行测试

性能测试蕴含的事项

  1. 评估生产筹备状态
  2. 评估性能断定规范
  3. 比拟多个不同零碎或同一零碎不同配置之间的性能特色
  4. 找出导致性能问题的源头
  5. 帮忙进行零碎性能调优
  6. 确定吞吐量程度

外围流程

  • 确定测试环境:

    • 物理环境、生产环境、测试团队可利用的工具和资源
  • 确定性能验收规范

    • 确定响应工夫、吞吐量、材料利用总指标和限度
  • 打算和设计测试

    • 确定要害场景
    • 确定典型用户的可变性、以及如何模仿这些变动
    • 确定测试数据
    • 确定须要收集的度量值
  • 配置测试环境

    • 随着须要测试的性能和组件的欠缺,逐渐为每一个策略筹备执行所需的测试环境、工具以及资源
  • 实现测试设计

    • 依据测试设计逐渐开展性能测试
  • 执行测试

    • 执行和监控测试
  • 剖析后果、报告以及反复测试

    • 整合并共享后果数据

性能测试指标

  • 评估软件公布筹备
  • 评估根底构造是否失当
  • 评估已开发软件的性能是否满足要求
  • 进步性能调整效率

性能测试的品种

  • 负载测试
  • 压力测试
  • 容量测试
  • 其余:配置测试、并发测试、可靠性测试、稳定性测试

性能测试工具 LoadRunnerJmeter

退出移动版