白盒测试之代码审查
代码审查范畴
合格代码应该具备正确性、清晰性、规范性、一致性和高效性
- 业务逻辑的审查
- 算法的效率
- 代码格调
- 编程规定
代码审查的办法 :
- 互查:在雷同模块或者相近模块的编程人员之间互相查看对方的代码
- 走查:从头到尾将写好的代码查看一遍
代码审查
- Java 最根本语句的应用
- 重载函数的审查
- 内存调配和治理:确保内存的及时开释和防止缓冲区溢出
程序性能的审查
- 缩小创立用户
- 缩小循环体的执行代码,能放在循环体外的代码要尽量放在循环体外
- 进步解决异样出错的效率
- 缩小 I/O 操作工夫
白盒测试方法 - 逻辑笼罩
单元测试:软件测试中最根底的测试,集成测试、功能测试和零碎测试都建设在单元测试之上;其对象是形成软件产品或者零碎的最小的独立单元,如封装的类或者对象、独立的函数、过程、子过程、组件或者模块等
用例设计
对于单元测试用例的设计和程序的实现过程,次要集中在白盒测试方法之上,并力求达到下列测试要求:
- 对程序模块所有独立的执行门路至多要测试一次
- 对所有逻辑断定,其后果为真、假两种状况至多要测试一次
- 对程序进行边界查看(常见的如数据越界测验)
- 测验外部数据结构的有效性
逻辑笼罩法 :白盒测试中最次要的测试方法
分类 :其根本思维不同,产生的测试用例不同,覆盖范围也有所不同
- 语句笼罩
- 断定笼罩
- 条件笼罩
- 断定 - 条件笼罩
- 条件组合笼罩
语句笼罩 :设计若干测试用例,运行被测试程序,使程序中的每个可执行语句至多被执行一次
- 有余:不能精确判断运算中的逻辑关系谬误
断定笼罩 :使每个判断的取真值和取假值都至多经验一次
条件笼罩 :使每一个条件的取真值和取假值都至多经验一次
断定 - 条件笼罩 :确保设计足够或精美的自测用例,可使得判断条件中所有的可能取值至多被执行一次,同时所有判断的可能构造也至多被执行一次
条件组合笼罩 : 设计足够的测试用例,使判断中每一个条件的所有可能至多呈现一次,而且每个判断自身的断定后果也至多呈现一次。
- 与断定 - 条件笼罩的差异:条件组合笼罩不是简略地要求每个条件都呈现“真”与“假”两种后果,而是要求让这些后果的所有可能组合都至多呈现一次
自动化测试
把手工测试转化为用机器,软件,程序来测试产品的过程
作用
- 缩短软件开发测试周期,能够让产品更快投放市场
- 测试效率高,充分利用硬件资源
- 节俭人力资源,升高测试老本
- 加强测试的稳定性和可靠性
- 进步软件测试的准确度和精确度,减少软件信任度
- 软件测试工具使测试工具绝对比拟容易,但能产生更高质量的测试后果
适宜应用自动化测试的我的项目
- 需要变更有计划性,并且频率不高
- 我的项目周期长,资源丰盛
- 脚本反复利用率高
- 代码标准
手工测试更适宜测业务逻辑,自动化测试适宜用来测十分根底、没有业务依赖的根底性功能
平安测试
Web 利用的概念 :
- 由动静脚本、编译过的代码等组合而成
- 它通常架设在 web 服务器上,用户在 web 浏览器上发送申请
- 这些申请应用 HTTP 协定,由 web 利用和企业后盾的数据库及其他动静内容通信
Web 利用平安威逼 :
- 验证:用来确认某用户、服务或是利用身份的攻打伎俩
- 受权:用来决定是否某用户、服务或是利用具备执行申请动作必要权限的攻打伎俩
- 客户侧攻打:用来扰乱或是探测 web 站点用户的攻打伎俩
- 命令执行:在 web 站点上执行近程命令的攻打伎俩
- 信息裸露:用来获取 web 站点具体零碎信息的攻打伎俩
- 逻辑性攻打:用来扰乱或是探测 web 应用逻辑流程的攻打伎俩
OWASP
10 大安全漏洞 :
- 注入:
SQL
注入- 生效身份认证和会话治理
- 跨站脚本:
XSS
- 生效的访问控制
- 平安配置谬误
- 敏感信息泄露
- 跨站申请伪造:
CSRF
- 应用含有破绽的控件
- 攻打检测和防备有余
- 未受爱护的
APIs
流程 :
不同测试的先后顺序 :
- 功能测试
- 自动化测试
- 平安测试:在此期间会有较多代码批改,影响性能测试
- 性能测试
平安审计
自动化审计工具:AppScan
,Weblnspect
不倡议依赖审计工具,尽可做长期或紧急应用
性能测试
意义 :多个客户端同时拜访造成压力
概念 :包含执行效率、资源占用、零碎稳定性、安全性、兼容性、可靠性、可扩展性
是形容测试对象与性能相干的特色,并对其进行评估而实现和执行的一类测试。次要通过自动化的测试工具模仿多种失常、峰值以及异样负载条件下,对系统的各项性能指标进行测试
性能测试蕴含的事项 :
- 评估生产筹备状态
- 评估性能断定规范
- 比拟多个不同零碎或同一零碎不同配置之间的性能特色
- 找出导致性能问题的源头
- 帮忙进行零碎性能调优
- 确定吞吐量程度
外围流程 :
确定测试环境:
- 物理环境、生产环境、测试团队可利用的工具和资源
确定性能验收规范
- 确定响应工夫、吞吐量、材料利用总指标和限度
打算和设计测试
- 确定要害场景
- 确定典型用户的可变性、以及如何模仿这些变动
- 确定测试数据
- 确定须要收集的度量值
配置测试环境
- 随着须要测试的性能和组件的欠缺,逐渐为每一个策略筹备执行所需的测试环境、工具以及资源
实现测试设计
- 依据测试设计逐渐开展性能测试
执行测试
- 执行和监控测试
剖析后果、报告以及反复测试
- 整合并共享后果数据
性能测试指标 :
- 评估软件公布筹备
- 评估根底构造是否失当
- 评估已开发软件的性能是否满足要求
- 进步性能调整效率
性能测试的品种 :
- 负载测试
- 压力测试
- 容量测试
- 其余:配置测试、并发测试、可靠性测试、稳定性测试
性能测试工具 :LoadRunner
、Jmeter