关于测试

这是5月份和公司同仁做的分享,分享主题是关于测试,是我自己对于测试的一些认知,以及态度的转变。

 

目录

  • 以怎样的心态面对测试

  • 安全测试贯穿整个软件生命周期

  • 总结

 

以怎样的心态面对测试

提问大家几个小问题:

你喜欢测试吗?

对于开发和测试的工作,我们假设待遇等等方面一切相同, 你优先会选择哪一个?

 

其实我个人很不喜欢测试,为什么今天又要和大家分享测试 这一话题呢?

主要原因是因为这段时间经历网站上线,对于客户测试提出 的一些问题,让我感受到了我们作为开发人员的一些欠缺。

 

为什么测试人员可以测试出来的问题,我们自己测试不到呢?

这时就有一些声音出来了

开发人员测自己写的东西,肯定会有盲点了

这句话没错,确实会有 但对于我们来说,还会有一个很致命的弱点,那就是我们常 常会自认为自己写出来的东西一定是非常完美的,一定是没 有问题的,我想大部分开发人员都是这

样,我也一样,我有 时候也会这么想

从而导致我们会忽略测试,认为测试没有那么重要,没有那 么认真的去对待测试

其实在我们公司,对于测试这一块做的挺好的,我们有自测 、互测、整合测试,既然都已经测试三轮了,为什么还会有 问题?原因是什么?这些都是我们大家需要去反思的一个问 题。

而今天我想传达的一个理念就是,我们作为开发人员应该也 必须要去了解,作为一个测试人员,他们是以什么样的视角 来看待我们所开发出来的软件,他们关注的点是什么,他们 认为

什么样的软件才是没有问题的,掌握了这些,才能让我 们更好的去开发,去避免我们之前开发中遇到的一些盲点。

 

安全测试贯穿整个软件生命周期

又有问题要问了

什么是安全测试?

安全测试很重要吗?

安全测试,听起来很高大上,应该很难吧,应该只有专业 人员才能做到吧?

要怎么来做安全测试呢,有什么流程吗?

 

对于安全测试,我们大部分的都是选择第三方测试机构, 进行渗透测试,其实可以想一下,有哪一个网站不经过最后 的渗透测试就可以上线的,会有吗?

其实每一个公司都很依赖渗透测试,它是网站上线前的最后 一道屏障,是保障网站安全的唯一方法。

大家都知道渗透测试一般都是在产品功能已经实现了,测试 也通过了,基本上都封板了的时候才会去做的事情。我们换 个角度思考一下,如果我们把测试出来的安全问题换一个称 谓,

叫做功能缺陷,或者系统Bug,对于这些类型的问题, 我们会等到网站即将上线前才去检查、测试,然后再去处理 吗?

答案一定是No

对于这些功能性的Bug,我们一定是希望越早发现越好

渗透测试除了测试时机太晚之外,它还是有很多不足的。

比如说速度慢,虽然说有自动化的测试工具,但是要进行 全面、深入的测试,还是需要好几天的时间的,甚至更长。

比如说成本问题,做一次渗透测试的成本是很高的,小到 几万,大到几十万,甚至更多,为了做一次渗透测试,动 不动花费几十万的支出,这也不是每一个团队都能承受的。

比如。。。

 

既然渗透测试有那么多不足之处,那我们还有其它什么 办法吗?

其实最好的办法就是在整个软件开发周期内,我们就一直 关注安全问题,现在称之为BSI(Build Security In)。 比如说我们在提业务需求,就应该添加对于安全问题的考 虑,像我们上海

的客户,他们在提需求就添加对这一块的 考虑

 

补充部分:

BSI是什么?

开发出来的软件中不可避免的存在安全问题,尽管我们已经 采纳了很多措施加以应对,例如设立安全编码规范、成立专 门的安全团队、聘用第三方安全公司进行渗透测试等等,可 是这

些措施的效果值得商榷。虽然表面看上去能解决眼前的 安全问题,但背后往往隐藏着更加深层次的矛盾,阻碍企业 构建更加安全的软件。

BSI所传递的一种理念:

将安全融入整个软件开发过程中

所有团队成员一起为安全负责

安全的设计和实施是一个持续进行的过程

 

总结

这次的分享,是我这段时间工作带给我的一些感受和启发, 我希望大家都可以调整心态,正确的认识测试。

其实对于我个人来说,最初刚开始接触这个行业,刚开始编 程的时候,我考虑的点很简单,功能实现就好; 经过做的第一个需求,让我懂得了开发软件,还要考虑软件 友好性的问题;

再后来功能实现对于我来说,已经不是难事了,此时我开始 去考虑性能问题,如果我们是在做应用程序,客户也不会特 别的要求,但如果你是在做网站,对于性能的考虑就显得尤 为重

要;

一直到现在,我也会去考虑一些安全方面的问题,虽然对于 这方面我了解的还比较浅显,但是会继续去学习,去深入了 解和掌握。

我的一个经历,其实也是已经经历过这个过程,或者说 正在经历这个过程的各位,希望我们共同努力,共同成 长,让我们变得越来越好,感恩大家。

 

(PS:有阅读ThoughtWorks洞见里面的博文,内容不错,感谢分享)

 

写于2017年5月23日

Anne

 

转载于:https://www.cnblogs.com/AnneHan/p/7667272.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

涨疯了,历史总是如此相似

2015年的股市,如果你经历过,那你一定会记忆犹新。最近的股市太猛了,写一篇文章纪念一下~mark上周五,在一个炎热的晚上,我跟4个股神在深圳坪洲的某个火锅店相遇,虽然他们都是富甲一方的富豪,虽然…

java基础语句_【Java基础-Java语言基础】

知识点:1.关键字  2.标识符  3.变量和常量一、关键字1.Java中的关键字有很多一共53个关键字有两个是保留字(java的关键字都是小写的!!)2.Java中的保留字(1)const  常量,数量(2)goto   转到3.Java的关键字(1)访问修饰符的关…

【BZOJ3514】Codechef MARCH14 GERALD07加强版 LCT+主席树

【BZOJ3514】Codechef MARCH14 GERALD07加强版 Description N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 Input 第一行四个整数N、M、K、type,代表点数、边数、询问数以及询问是否加密。接下来M行,代表图中的每…

安卓9.0Sensor框架

前言本来如果只是给传感器写个驱动并提供能读取温湿度数据的节点,是一件比较轻松的事情,但是最近上层应用的同事要求我们按照安卓标准的流程来,这样他们就能通过注册一个服务直接读取传感器事件数据了。这样做的好处就是第三方的应用也能正常…

java ognl表达式_java -------ognl表达式入门

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼------------------------------------------------------------------------------------ognl:对象表达式语言,可以用一个表达式快速地访问一个对象的属性,还可以调用对象的方法--------------------------…

Theano 更多示例

Logistic函数 logistic函数的图,其中x在x轴上,s(x)在y轴上。 如果你想对双精度矩阵上的每个元素计算这个函数,这表示你想将这个函数应用到矩阵的每个元素上。 嗯,你是这样做的: xT.dmatrix(x) s1/(1T.exp(-x)) logisti…

SensorKernel层框架分析

接上文安卓9.0Sensor框架前言前面我们已经讲解了sensor框架中的framework到vendor层,这篇文章我们将会讲解kernel层的内容。不过不同的芯片平台,kernel层中的sensor框架是不同的,这里针对的是mt8167s平台。不过这里提醒一下,MTK平…

【习题 5-8 UVA - 230】Borrowers

【链接】 我是链接,点我呀:) 【题意】 在这里输入题意 【题解】 用mapset写个模拟就好。 3个区域 书架、桌子、别人的手上。 其中前两个区域的书都能借出去。 【代码】 #include <bits/stdc.h> using namespace std;set <pair<string, string> > mset1,mse…

java requestparams_java – 如何验证@RequestParams不为空?

我有一个计算器服务,从用户获取操作类型num1和num2.我需要验证用户是否实际输入了这些值,而不是将其留空.RequestMapping(value "/calculate")ResponseBodypublic CalculationResult calculate(RequestParam(name "op") String operation, RequestParam(…

Linux内核LED子系统、请务必看

前言LED子系统你要是说很难嘛&#xff0c;但是它就是控制一些简单的GPIO口&#xff0c;但是你要是说它很简单嘛&#xff0c;但是我也不见得一个初学者很快就能掌握&#xff0c;你如果是刚入门这部分的话&#xff0c;我觉得你还是要去仔细研究下这些驱动。前两天在网上看到一句话…

UVALive 4394 String painter

题目大意&#xff1a;有两个字符串A,B&#xff0c;一次刷可以把A串一段刷成同一个字母&#xff0c;问至少要刷几次才能把A串变成B串。串长≤100。 本来以为是个很简单的区间DP&#xff0c;后来发现直接区间DP是不行的&#xff0c;这玩意有后效性&#xff1a;刷完一整块之后这一…

centos 6.5 安装 lamp 后mysql不能启动_CentOS 6.5 系统 LAMP(Apache+MySQL+PHP)安装步骤

先来解释一下&#xff0c;什么是 LAMP。正如标题所言&#xff0c;LAMP 实际上就是 Linux、Apache、MySQL、PHP 四个名称的缩写&#xff0c;当然最后一个 “P” 还有其他说法是 Perl 或者 Python。不用多说了&#xff0c;本文讲解的就是 Linux、Apache、MySQL、PHP 这四个东西&a…

Redis连接实例

ECS Windows服务器 如果您本地需要通过公网访问 云数据库 Redis&#xff0c;可以在 ECS Windows 云服务器中通过 netsh 进行端口映射实现。 1. 登录 ECS Windows 服务器&#xff0c;在 CMD 执行以下命令。&#xff08;公网地址与 连接地址 请替换 为您的实际地址。&#xff09;…

什么是高内聚,低耦合?

高内聚&#xff0c;低耦合是一个老生常谈的话题&#xff0c;所以拿出来说一下我们在看Linux的一些资料&#xff0c;或者是在面试&#xff0c;又或者跟一个比较牛的大佬讨论技术的时候&#xff0c;可能会听到这个概念。所以&#xff0c;什么是高内聚&#xff0c;低耦合呢&#x…

java 8 兼容_甲骨文限制 Java 9 到 Java 8 的向后兼容性

在开发者们正兴奋着准备把 Java 8 工具包转向 Java 9 的时候&#xff0c;甲骨文的首席执行官提出了要限制两个版本的兼容性。在周一下午 OpenJDK 的邮件列表中的一封邮件中&#xff0c;甲骨文的 Java 平台的首席架构师 Mark Reinhold 指出会对 JDK8 增加更多变化(大概在 2014 年…

Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)

在这篇文章中 创建API帮助页面将帮助页面添加到现有项目添加API文档在敞篷下下一步作者&#xff1a;Mike Wasson 创建Web API时&#xff0c;创建帮助页面通常很有用&#xff0c;以便其他开发人员知道如何调用API。您可以手动创建所有文档&#xff0c;但最好尽可能自动生成。 为…

Linux fork的写时复制

这个问题是一个同学在知识星球里面提问的看下面的代码#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/wait.h> #includ…

从单片机工程师的角度看嵌入式Linux

前言 这篇文章简单我们来一起梳理嵌入式Linux的一些知识&#xff0c;方便于一些想跟我一样想要由单片机进阶到嵌入式Linux的朋友做一些参考学习。现在随着嵌入式Linux的教程不断增多&#xff0c;相信应该有不少学单片机的朋友开始折腾这个了吧~嵌入式Linux学哪些东西 1、认识Li…

Java低级编程软件_JAVA语言说低级语言吗

高级语言&#xff1a;C、C、Java、Python、Pascal、Lisp、Prolog、FoxPro、易语言等都是高级语言&#xff0c;相对于低级语言来说&#xff0c;高级语言采用易于识别和记忆的字符来作为关键字&#xff0c;也更接近人类的思维方式&#xff0c;编写容易读写性好&#xff0c;开发效…

智能硬件开发神器免费送!距离产品智能化,只差一个“三明治”的距离

重磅资料包免费领取 针对人群&#xff1a;如果您对“人工智能物联网”感兴趣&#xff0c;尤其是您的企业想做产品/行业智能化&#xff0c;一定不能错过这份“物联网人必备的终极大礼包”哦&#xff5e;这几类行业玩家必看&#xff01;&#xff01;&#xff01;制造商、方案商、…