软件测试与代码安全详解

Posted dashucoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试与代码安全详解相关的知识,希望对你有一定的参考价值。

前言

本人学习软件测试收获不少,于是便记录下来自己的思路与知识总结,重温自己的探索之路。

初学

开始学习软件测试,那么什么是软件测试,软件测试很重要吗?当然重要,这是毫无疑问的。那么开始学习,我们需要了解软件测试的基本概念,方法,常用测试工具(测试的时候需要,可以大大提高效率),学习测试,我们可以了解到常见的软件架构。如:B/S,C/S等,这里我比较了解B/S,因为我测试过。

我们在学习软件测试时需要了解很多要懂的知识。

常见的测试工具

当然,学习软件测试,能不自己动手就少动手,让一些测试工具自动测试。如:selenium,loadrunner,postman,robotium,appium等。

学习软件测试不简单

测试一款软件,我们首先要知道自己测试的目的,不可盲目,要有质量的保证,懂得合理的进行软件测试。

测试一款软件是为了发现在测试过程中存在的错误,一直测试到没发现错误,但是你不能保证该软件是否测试完成完美。只能说测到你没发现错误,错误还是有可能存在的。

进行软件测试目的是保证该软件做了你所期望的事情,并且是正确地形式完成。测试软件为了提供给开发人员和经理有关信息,进行软件的风险评估。进行软件测试只能提高软件的质量,进行软件测试能够得出很好的结论为下一次软件的开发的过程做准备。

软件生存期模型

瀑布模型
原型模型
增量模型
螺旋模型

1.什么是瀑布模型

答:对于瀑布模型,我知道有六个阶段:计划,需求分析,设计,编码,测试,运行维护。
计划–>需求分析–>设计–>编码–>测试–>运行维护,是不是很难背。

2.什么是原型模型

答:就是建立一个能反映用户需求的原型系统,如何对原型系统进行反复的改进和求精,建立一个符合用户的目标系统。

3.什么是增量模型

答:对于增量模型,记住的是在每个阶段都会生成一个可发布的正式版本,而且每个软件版本是逐步完善的。

4.什么是螺旋模型

答:螺旋模型是瀑布模型和原型模型结合起来的,记住这个模型是有四个阶段,这四个阶段都是主要的,一是制定计划,二是风险分析,三是实施工程,四是评审。

软件质量的定义

软件质量的定义:满足用户的需求,满足软件测试的需求,保持合理的进度和成本

对于软件错误的定义:

进行软件测试为了发现软件程序中的错误,因为在软件开发中,可能在软件需求,设计,编码等阶段都是有可能出错的,为了保证软件质量就需要对软件进行软件测试,通过不断地验证和确认,保证软件的质量哦!

进行软件测试是为了发现可能存在的错误,提高软件的质量,但是不能通过软件测试来提高软件质量,不能误解为通过软件测试来提高软件质量,这个做法是错误的。

还有,不能说进行了软件测试就说明错误就不存在了,进行软件测试是保证错误存在率降低。

简单明了地说,没有实现用户的最终要求就是软件错误。

软件测试的名句

在学习软件测试时,会常常听见这些话:

  1. 进行软件测试能够提高软件的质量,但是你可别想提高软件质量依赖软件测试。
  2. 进行软件测试,可以查出软件存在的错误,但不能保证错误不存在。
  3. 软件测试的难度在于如何有效进行测试时,和何时放心结束测试。
  4. 80%的错误聚集在20%的模块中。(重点)
  5. 一切的事情千万别一次性干完。

测试用例

编写测试用例,需要依靠软件需求为依据,不能凭空乱写,如果软件需求出现错误,那么测试用例也会出错。如果测试用例编写不完整或者不够好,那么可能会发现不了错误的存在,一个好的测试用例能够提高效率,也能找出未发现的缺陷。

所有的测试工作者都是为了发现软件错误,错误的原因等。

软件测试的分类

基于软件结构与算法
黑盒测试和白盒测试

基于执行被测试软件
静态测试和动态测试

基于不同阶段
单元测试,集成测试,系统测试,验收测试

黑盒测试又叫做功能测试,适用于用户测试,可以理解为进行性能测试,表面的测试~

白盒测试又称为结构测试,对代码结构进行测试,可属于程序员的测试~

静态好比对车子在车库中的检查,而动态就好比,开车来检查,测试~

测试不同阶段,单元测试、集成测试、系统测试和验收测试,是一种从小到大、循序渐进的测试。

单元测试是一个一个单元的模块进行测试,由于是单元,不能独立的运行,所以需要编写可用的运行测试程序。集成测试,懂得是混合使用白盒黑盒测试方法的。 集成测试是单个模块连接的,可以理解为单元测试每个模块集成为集成模块,可以发现模块与模块之间的接口等问题。

系统测试采用黑盒测试方式,检查系统是否符合软件的需求,单元测试到集成集成测试到系统测试到验收测试。

软件测试过程

  1. 制定测试计划
  2. 建立合适的测试环境
  3. 需要编写测试方案文档
  4. 需要编写测试用例文档
  5. 执行测试
  6. 合理利用测试工具
  7. 需要提交Bug提交文档
  8. 需要编写总结报告文档
  9. 进行分析和评估

黑盒测试

等价类划分、边值分析
因果图、判定表法、场景法、错误推测

等价分类法

等价分类法:分两种为有效等价类和无效等价类

有效等价类,就是输入的数据是合理的,有意义的,并且符合程序的规格说明。

无效等价类,就是输入的数据是不合理的,没有意义的,并且不符合程序的规格说明。

边界分析法

对于边界分析法,是基于等价类划分的,选择等价类的边界值作为测试用例。

错误推测法

错误推测法,是靠经验或者直觉推测可能会出现错误的,列出可能出错的和容易出错的,来选择作为测试用例。

因果图法

因果图法,理解为把“因”看作输入条件,把“果”看作输出条件,有因就有果,因果图是一种形式化语言,可以根据这种关系选择高效的测试用例。

定位:分享 android&Java 知识点

以上是关于软件测试与代码安全详解的主要内容,如果未能解决你的问题,请参考以下文章

字符串拼接的四种方式详解,代码测试

字符串拼接的四种方式详解,代码测试

web安全之CSRF(跨站域请求伪造)攻击详解应对和测试

[网络安全提高篇] 一一七.恶意软件静态分析经典工具Capa基本用法万字详解

iptables详解

[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)RCE (远程代码/命令执行漏洞)相关面试题