软件测试顾名思义就是要进行软件安全方面的测试,对于软件测试人员来说,软件安全是一个广泛而复杂的主题,完全避免软件安全缺陷问题是不切实际的,但通过安全测试可以发现并修复软件大部分安全缺陷。下面介绍一些安全测试的基本原则有哪些?工作中可做参考。

  安全测试的基本原则有哪些?

  1、培养正确的思维方式

  只有跳出常规思维定式才能成功执行安全测试。常规测试只需要覆盖目标软件的正常行为,而安全测试人员则要有创造性思维,创造性思维能够帮助我们站在攻击者角度思考各种无法预期的情况,同时能够帮助我们猜测开发人员是如何开发的,如何绕过程序防护逻辑,以某种不安全的行为模式导致程序失效。

  2、尽早测试和经常测试

  安全性缺陷和普通Bug没什么区别,越早发现修复成本越低,要做到这一点,最开始的工作就是在软件开发前期对开发和测试团队进行常见安全问题的培训,教他们学会如何检测并修复安全缺陷。虽然新兴的第三方库、工具以及编程语言能够帮助开发人员设计出更安全的程序,但是新的威胁不断出现,开发人员最好能够意识到新产生的安全漏洞对正在开发的软件的影响;测试人员要转变思维方式,从攻击者角度的各个细节测试应用程序,使软件更加安全。

  3、选择正确的测试工具

  很多情况下安全测试需要模拟黑客的行为对软件系统发起攻击,以确保软件系统具备稳固的防御能力。模拟黑客行为就要求安全测试人员擅长使用各种工具,如漏洞扫描工具、模拟数据流行为的前后台相关工具、数据包抓取工具等。现在市面上提供了很多安全扫描器或者应用防火墙工具可以自动完成许多日常安全任务,但是这些工具并不是万能的。作为测试人员,准确了解这些工具能做什么,不能做什么是非常重要的,切不可过分夸大或者不当使用测试工具。

  4、可能情况下使用源代码

  测试大体上分为黑盒测试和白盒测试两种。黑盒测试-般使用渗透方法,这种方法带有明显的黑;盒测试本身的不足,需要大量测试用例进行覆盖,且测试完成后仍无法确定软件是否存在风险。现在,白盒测试中源代码扫描成为一种越来越流行的技术,使用源代码扫描工具对软件进行代码扫描,一方面可以找出潜在的风险,从内对软件进行检测,提高代码的安全性;另一方面也可以进一步提高代码的质量。黑盒的渗透测试和白盒的源代码扫描内外结合,可以使软件的安全性得到极大程度的提高。

  5、测试结果文档化

  测试总结的时候,明智且有效的做法是将测试行动和结果清晰准确地记录在文档中,产生一份测试报告。该报告最好包括漏洞类型、问题引起的安全威胁及严重程度、用于发现问题的测试技术、漏洞的修复、漏洞风险等。一份好的测试报告应该帮助开发人员准确定位软件安全漏洞,从而有效进行漏洞修补,使软件更安全可靠。

安全测试的基本原则有哪些?相关推荐

  1. 软件测试-七项测试的基本原则

    过去 50 年来,人们提出了一些测试原则,并为所有测试提供了通用的指南 原则 1 测试说明缺陷的存在,而不能说明缺陷不存在 测试可以证明存在缺陷,但不能证明不存在缺陷.测试降低了软件中存在未发现缺陷的 ...

  2. php make test 作用,larablog 系列文章 06 - 测试:使用 PHPUnit 进行单元和功能测试

    到目前为止,larablog 系列文章就要接近尾声了,过去我们已经探讨了开发的核心概念和方式.在继续添加功能之前,是时候介绍测试相关的内容.我们将研究如何通过单元测试和功能测试确保多个组件与功能一起正 ...

  3. 《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》目录—导读

    版权声明 BackTrack 5 Cookbook中文版--渗透测试实用技巧荟萃 Copyright @ Packt Publishing 2012. First Published in the E ...

  4. 软件测试的原则有哪些?来自十年测试老鸟的总结

    目录 前言 1.测试应基于用户需求 2.做好软件测试计划是做好软件测试工作的关键 3.应尽早的开始软件测试并不断的进行软件测试 4.测试前必须明确定义好产品的质量标准 5.避免测试自己的软件 6.应充 ...

  5. 电子商务系统的测试(十四)

    电子商务系统的测试,包括软件测试的基本概念.软件测试文档.准备测试环境.软件测试的基本方法.软件测试阶段.基于Web的系统测试方式.调试和测试工具. 14.1 软件测试的基本概念 1. 软件测试的定义 ...

  6. 《测试架构师的修炼之道》七—测试策略实战

    一.开始 此时,软件测试架构师对项目的了解还非常有限,在制定测试策略之前,收集了解更多的项目信息非常重要: ·项目的范围. ·人力投入. ·历史情况. ·-- 二.初次使用'四步测试策略制定法' 2. ...

  7. 软件测试质量保证与测试

    软件测试质量保证与测试 第一章 软件测试概述 1.1 软件测试背景 随着计算机技术的迅速发展和越来越广泛深入地应用于国民经济与社会生活的各个方面,软件系统的规模和复杂性与日俱增,软件的生产成本和软件中 ...

  8. 6. 测试数据管理规范

    1. 前言 本章节是以当前项目举例说明的,可能涉及到一些具体的业务数据,列位看官可以根据例子抽象出自己需要的内容进行参考. 2. 环境概述 环境介绍: ​ 环境按照测试流程中的测试种类,整个测试环境分 ...

  9. 软件测试原则的6个基本原则

    文章目录 1.测试应基于客户需求 2.测试要尽早进行 3.穷尽测试是不可能的 4.遵循GoodEnough原则 5.测试缺陷要符合"二八"定理 6.避免缺陷免疫   软件测试经过几 ...

最新文章

  1. [PKUWC2018]随机算法
  2. 只要可能,就缓存数据和页输出
  3. identifier starts immediately after numeric literal
  4. vconfig命令打通直连网络
  5. opencv-api getStructuringElement
  6. [Ext JS 4] 实战之多选下拉单 (带checkbox) 续 - 带ALL 选项
  7. go 公众号 关注 监听_golang微信公众平台之消息接入
  8. java定时执行bat_如何自动执行多个批处理命令
  9. Ubuntu中安装网易云音乐(可以直接打开的最简单的方法)
  10. 【Altera SoC体验之旅】+ 正式开启OpenCL模式
  11. Python爬取美女图片 爬虫基础
  12. 通过IP地址进行精准定位
  13. word里面给公式自动编号
  14. 在龙芯3A3000中标麒麟7.0环境下编译golang1.14.1源码
  15. 使用Excel分析数据学习笔记之 二分类与混淆矩阵
  16. 来到传统行业做程序员,从准备提桶跑路到引领技术风潮?背景
  17. 大数据系列 之 学习准备
  18. 学习新时代编程语言Rust-12小胖的裤子
  19. 强烈推荐 | 基于飞桨的五大目标检测模型实战详解
  20. 代码坏味道与重构之冗赘的元素和夸夸其谈的通用性

热门文章

  1. 中国科协(深圳)海外人才离岸创新创业基地源创力中心开业,主打国际创业服务...
  2. CC2540 OSAL 学习其中原理,以及 给任务 添加 一个事件(定时发送串口消息)
  3. Hive 按某列的部分排序 以及 删列操作
  4. (10)Spring Boot修改端口号【从零开始学Spring Boot】
  5. 《Linux内核设计与实现》读书笔记 第三章 进程管理
  6. 便捷,轻巧的Groovy数据库操作
  7. Linux C++/Java/Web/OC Socket网络编程
  8. 使用Spring实现邮件发送
  9. 线性代数与矩阵论 定理 1.5.6 拉格朗日插值公式
  10. 4.65FTP服务4.66测试登录FTP