软件测试主要是为了测试发现软件系统中的BUG,并进行改正,以保证在软件交付给客户是能够保证客户需求达到实现。但在交付之后,并不意味着软件就不会再出现错误,哪怕软件的运行BUG已经完全被解决,而病毒及非法黑客的入侵往往造成的损失比软件自身的BUG还大。因此在软件测试中进行安全性的测试成为一个不可缺少的环节。在实现安全性的测试时,软件工程师则把其放在了系统测试这一环节中,因为系统测试是为了软件能够在与其他程序配合使用时的稳定性,也就是说系统测试更加接近我们软件运行的日常环境。大家都知道病毒的载入往往是由其他程序引入的,而黑客则是在日常的大网络环境中利用软件的安全漏洞来达到其入侵的目的,因此在系统测试这一最接近日常运行环境的条件下进行测试是最理想也是最能达到测试目的的。

  安全性测试是这样定义的,安全性测试是检查系统对非法入侵的防范能力,其目的是为了发现软件系统中是否存在安全漏洞。这里涉及的软件安全性则是指在非正常环境下软件不会发生安全事故的能力。

  既然已经知道软件安全性测试是什么了,那么我们是怎么在系统测试中进行软件安全性的测试的?

  软件测试人员在进行测试事,是由测试人员来担当攻击系统的类黑客角色,测试人员运用各种手段来试图达到攻击系统,得到系统信息的目的。可以通过网络的病毒载入,同过外围手段,或者通过其他软件来得到目的,总的来说,测试人员应当模拟出实际攻击人员会运用的手段来发现系统的安全漏洞。

  在测试时,测试人员根据攻击人员常用的攻击方式,进行了分析,制定了合适的有效的安全性测试方法,主要有以下几种方法:

  1.功能验证:

    功能采用类似于黑盒测试的方法对功能模块中涉及到安全性的模块进行测试,如用户管理系统、加密系统、权限管理系统及认证系统等。主要有以下几个方面:

      1.有效的密码是否接受,无效的密码是否拒绝。

      2.系统对于无效用户或密码登陆是否有提示。

      3.用户是否会自动超时退出,超时的时间是否合理。

      4.各级用户权限划分是否合理。

    当然,在测试的时候,不仅仅只有这么几个方面,还有其他的如系统数据配置,防火墙等方面的详细测试。

  2.漏洞扫描:

    安全漏洞扫描主要是借助于特定的漏洞扫描器完成的。通过使用漏洞扫描器,系统管理员能够发现系统存在的安全漏洞,从而在系统安全中及时修补漏洞的措施。   一般漏洞扫描分为两种类型:主机漏洞扫描器是指在系统本地运行检测系统漏洞的程序。网络漏洞扫描器是指基于网络远程检测目标网络和主机系统漏洞的程序。

  3.模拟攻击实验:

    对于安全测试来说,模拟攻击测试是一组特殊的极端的测试方法,我们以模拟攻击来验证软件系统的安全防护能力。

  系统安全测试的内容,它主要包括:

      1.应用程序安全测试

      2.操作系统安全测试

      3.数据库安全测试

      4.IIS服务器安全测试

      5.网络环境安全测试

  当然在这里我主要讲的是我做过的项目系统中需要测试的内容,对不同的系统安全性测试的内容也不一样,这个需要结合项目本身的情况和用户使用环境来确定测试的内容。在测试时往往会模拟以下几种攻击方式:

      1.冒充:口令猜测,缓冲区溢出;

      2.重演;

      3.消息篡改:DNS高速缓存污染,伪造电子邮件;

      4.服务拒绝:死亡Ping,泪滴,UDP洪水,SYN洪水,Land攻击,Smurf攻击,Fraggle攻击,电子邮件炸弹,畸形消息攻击;

      5.内部攻击;

      6.外部攻击;

      7.陷阱门;

      8.特洛伊木马;

  4.侦听技术:

    侦听技术实际上就是对数据交互的数据信号进行捕获分析的一种抓包技术。也是目前最为流行的网络数据包捕手段;相反测试人员也能利用这项技术进行网络加密的   测试;

  既然有了安全性的测试,则必定需要制定一个安全性的标准,来确定一个软件的安全性则们才算符合我们的安全需求。因此有了安全性标准。配合上安全性标准则为安全性的测试提供了更有效的支持。

转载于:https://www.cnblogs.com/jied/p/4439199.html

软件测试·系统测试·安全性测试相关推荐

  1. [原创]快钱99bill网站安全性测试漏洞之“跨站式脚本注入”

    [原创]快钱99bill网站安全性测试漏洞之"跨站式脚本注入" 网站安全性测试,尤为重要,电子支付网站更是如此,本文作者以实例介绍了 (1)"Yeepay网站安全测试漏洞 ...

  2. 软件测试查漏补缺(一)——驱动开发、系统测试、测试工具

    软件测试查漏补缺(一)--驱动开发.系统测试.测试工具 一.测试驱动开发 英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法. TDD要求 ...

  3. 软件测试-------Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试)

    Web(性能测试 / 界面测试 / 兼容性测试 / 安全性测试) 一.Web性能测试:(压力测试.负载测试.连接速度测试) 1.压力测试:      并发测试 (如500人同时登录邮箱) 2.负载测试 ...

  4. 第三方软件测试机构如何对软件进行安全性测试?

    大数据时代,用户在使用软件产品时安全是放在首位的,现在手机里各类app软件对我们的个人信息与上网足迹了如指掌,因此软件安全是软件产品的重中之重,那么第三方软件测试机构是如何对软件产品进行安全性测试的呢 ...

  5. Web系统测试Web安全性测试

    WEB安全性测试介绍 WEB安全性测试--拒绝服务攻击 WEB安全性测试--文件上传漏洞 WEB安全性测试--跨站攻击 WEB安全性测试--SQL注入一 WEB安全性测试--SQL注入二 WEB安全性 ...

  6. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等

    软件测试进阶 1.APP 的测试 2. 按照测试对象划分 2.1界面测试(UI测试) 3.响应式页面 4.可靠性测试 5.容错性测试 6.文档测试 7.平台测试: 7.1 PC: 7.2.手机端: 8 ...

  7. BS和CS架构,软件开发的瀑布模型,快速原型模型、螺旋模型、敏捷开发、软件测试分类,测试的分类和理解

    1.BS和CS架构 1.1  BS:浏览器与服务器结构 优点:客户端无需安装,有web浏览器即可 缺点:在速度和安全性上需要花费巨大的设计成本 1.2  CS:客户机与服务器结构 优点:CS架构的页面 ...

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

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

  9. 软件测试面试题-测试基础篇

    软件测试是什么? 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,评估软件是否符合用户需求. 软件测试有哪些分类? 1.按测试方法:黑盒测试,灰盒测试,白盒测试 2.按测试方向:功能.性能 ...

最新文章

  1. 指针也是一种数据类型
  2. 在eclipse中开发servlet流程
  3. 20155303 2016-2017-2 《Java程序设计》第二周学习总结
  4. WinCE启动失败的原因与解决办法分析
  5. 2020-12-29 Matlab自动化控制-Adrc自抗扰控制参数调节
  6. 使用DLL进行不同语言之间的调用
  7. 二叉排序树或二叉搜索树
  8. C++多线程快速入门(四)shared_mutex以及读写锁应用
  9. proteus里面没有stm32怎么办_嵌入式单片机之stm32串口你懂了多少!!
  10. 怎样在ppt中加入随机抽号_潮流女生怎样穿更时髦?经典中加入个性,减龄时尚还高级,快入坑...
  11. 数据库的常用操作语句
  12. 基于Java+springboot+mvc+vue员工管理系统
  13. TransCenter: Transformers with Dense Queries for Multiple-Object Tracking
  14. 手机怎么把两寸照改成一寸照?这个方法既简单又好用
  15. latex 矩阵叫行列编号
  16. 美国大学生足球联赛数据集football——DeepWalk算法
  17. 5.询问姓名及电话号码
  18. 弹簧物理-如何模拟弹簧和阻尼
  19. 我的2017年文章汇总——深度学习篇
  20. 7080生化分析仪使用说明书—— 操作篇

热门文章

  1. 论文指标评价体系及权重计算
  2. 文档生成工具-Doxygen使用方法以及注释规则
  3. 1351:面朝大海 春暖花开 [ 数据加强版 ]
  4. 百度智能运维的技术演进之路
  5. 解决fatal error C1859: “Debug\thread5.pch”意外的预编译头错误的方法
  6. php一维数组的定义,PHP 数组定义、遍历的实现方法
  7. pycharm定义空的二维数组_数组与面向对象
  8. html跳转qq浏览器,导入其他书签
  9. 4-10 阶乘计算升级版
  10. 空气流量传感器原理解析