专栏首页小巫技术博客《软件工程之美》打卡第六周

《软件工程之美》打卡第六周

上一周我给大家总结分享了软件工程之美当中的开发编码篇,这周会继续分享软件测试篇中的内容:

31 | 软件测试要为产品质量负责吗?

首先这个问题软件测试要为产品质量负责,但并不代表软件测试要担所有的责任,因为在软件工程当中,我们包含多个环节,比如:

  • 需求环节
  • 设计环节
  • 开发环节
  • 测试环节

每个环节都可能导致质量问题,而测试只是负责最后验收,它不能确保软件完全不出问题。

我们常说是软件产品质量是什么?

  • 功能质量(Bug数量、性能、UI/UX等指标)
  • 代码质量(可维护性、可读性、执行效率、安全性、课测试性)
  • 过程质量(是否如期,开发成本可控)

以上的定义相关影响,共同决定软件的质量。

谁该为产品质量负责?

不同的角色应该承担不同的责任:

  • 软件测试:对功能质量负责,产品测试验收,确保满足功能需求
  • 开发人员:对代码质量负责,写测试代码,通过自动化的方式做功能测试
  • 项目负责人:对过程质量负责,起主要责任

最理想状态:人人都为产品质量负责

32 | 软件测试:什么样的公司需要专职测试?

软件测试的主要工作

  • 发现bug
  • 报告bug
  • 跟踪bug

如何发现bug?

根据需求设计测试用例,尽可能覆盖所有用户操作的可能。除了基本的功能性测试,还需要进行非功能性的测试,包括性能、安全性和用户体验等。测试人员通过设计出完整的、有较高覆盖率的测试用例,逐一测试,这样就可以做到及时发现bug。

如何报告bug?

发现bug之后,通过bug跟踪系统跟开发人员创建Ticket,详细说明bug的内容,包括以下部分:

  • 预期和实际效果
  • 重现步骤
  • 必要的截图、日志等辅助信息

如何跟踪bug?

除了报告bug让开发去修复,测试人员还应该针对bug的修复验证。通常就是我们常说的回归测试,避免开发者因为修复一个Bug,引入其他的问题。

关于一些大厂不设置专职测试的话题

比如Facebook、Google和Amazon这些公司之所以能够做到不设置专职测试,它们都有以下共同的特点:

  • 大量优秀的工程师,可以同时兼任开发和测试;
  • 有大量的自动化测试代码覆盖
  • 强大的发布和监控系统
  • 时间进度比较宽松
  • 用户对Bug容忍较高

光是第一条,国内很多公司都达不到,我个人觉得人才是最重要的一环,能够写自动化测试代码并且保证覆盖的工程师本身就稀缺,还要依赖完备的发布和监控系统;从时间的调性,国内强调KPI,产品竞争激烈,时间会压得很紧,所以工程师首先压的就是测试的时间,更别说是写自动化测试了。

但从未来的趋势看,开发和测试更多的融合是一种常态,对工程师要求会越来越高;我认为完全不设置测试岗位不显示,类似一些功能性测试或许会从正式人力变成外包的形式,而正式人力会更多要求有开发能力去开发能提升测试效率的工具和搭建平台。

33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?

一个基本的Bug信息包括

  • 标题;
  • 描述(包括期望结果、实际结果和重现步骤等关键信息)
  • 优先级;
  • 指派人;
  • 状态(New、Open、Rejected、Fixed等);
  • 其他。

为什么不用QQ、邮件等方式处理Bug?

  • 不易检索和跟踪
  • 效率太低,开发人员容易被消息打断
  • 不够直观,比如各种状态的统计

Bug跟踪系统的主要功能是用来跟踪Bug的,不是用来讨论和扯皮的。

一些自动化测试的趋势

  • 国外的一些大厂,手工测试职位在减少,转变招聘能写自动化测试的软件测试人员
  • 软件开发人员不仅要能写功能代码,还需要实现一定量的自动化测试代码

关于宝玉老师列的一些软件测试工具我就不重复贴了,感兴趣自己去订阅看看。

34 | 账号密码泄漏成灾,应该怎样预防?

这节课从标题上就能知道有关安全的话题,软件中的安全问题来源主要分为以下三大类:

  • 第一类:恶意输入(比如SQL注入、XSS攻击)
  • 第二类:假冒身份(后台没有做权限控制)
  • 第三类:数据泄露(账号密码明文记录,日志泄露)

如何应对安全问题?

  • 需求阶段就明确要求安全需求,做出针对性预防措施;比如用户权限的,要求有身份的验证;敏感信息,对数据进行加密等
  • 设计阶段,从架构层面增加安全方面的评审
    • 攻击面最小化
    • 权限最小化
    • 纵深防御
  • 开发阶段,保证良好的编码协管和安全意识
    • 编码规范中加入安全相关内容
    • 要有代码审查
    • 增加安全相关的自动化测试
  • 测试阶段,增加安全性方面的测试
  • 上线维护阶段
    • 不部署源代码,只对编译后程序部署;删除Debug文件
    • 对服务器进行安全设置,比如说严格限制端口,只保留必须的端口;只对少数服务器开发外放服务;开启操作日志;对访问目录设置最小的权限。

出现安全问题怎么办?

  • 设立应急流程,出现问题知道找谁,第一时间恢复生产,避免进一步损失
  • 分析漏洞源头,可以通过分析日志,找出漏洞所在,针对性修复
  • 总结分析原因,吸取教训,改进流程,避免再次发生

最后

这周主要的学习内容是软件测试相关的,测试虽然是软件工程中一个环节,但也是非常重要的环节,它是保证产品质量的一道关卡,需要为产品最后验收的质量负责,帮助产品发现更多的bug。以前我们常常把开发和测试独立划分开,但随着研发模式进化,测试也逐渐成为开发人员也需要兼顾的角色,通过自动化测试的手段来减少手工测试,提升研发效率。这也给我们带来一些启示,未来测试的角色的工作会有所变化,开发的边界也不再局限于写代码这个角色,能够给产品带来效能的改进,就不应该设置边界。人人都应该为产品质量负责,人人都是产品经理。

本文分享自微信公众号 - 巫山老妖(wwjblog),作者:污748

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《软件工程之美》打卡第七周

    本周正式回归正常的办公场所,关于远程办公和公司办公我只能说各有各的好坏,说实话我会更偏向在公司办公,后面有机会写篇文章分享下。本周继续专栏学习计划,目前已经进展...

    用户1130025
  • 《软件工程之美》打卡第二周

    这是笔者参加极客时间21天打卡第二周,分享和总结确实是个很好的学习方法,这一周我又对软件工程多了一些理解,每日总结内容如下:

    用户1130025
  • 《软件工程之美》打卡第三周

    这是笔者参加极客时间21天打卡行动第三周,三周的时间无间断刚好21天,这21天里我强迫自己每天都要学习半个小时并写100个字的分享,正是这样的自律让我找回以前的...

    用户1130025
  • 《软件工程之美》打卡第四周

    最近笔者参加了极客时间的21天打卡行动,从年初开始到年末,21天无间断完成了打卡行动。虽然打卡行动已经结束,但还是不想因此就懈怠了,人一尝点甜头就容易忘乎所以,...

    用户1130025
  • 《软件工程之美》打卡第五周

    上周因为临时公司有紧急需求,大部分时间都投入到工作上,所以就暂缓打卡的计划,这周正式进入远程办公的第一周,继续把专栏的学习计划滚动起来,这周会分享宝玉老师的极客...

    用户1130025
  • 微软为NBA提供云计算服务、Google公布Fuchsia OS细节、Zoom用户可选择数据库等|Decode the Week

    01 苹果正在研发可替换零部件的入耳式无线耳机 并发布了Apple Music Web版

    LiveVideoStack
  • 每周分享第 31 期

    欢迎投稿,请前往 GitHub 的 ruanyf/weekly 提交 issue。

    ruanyf
  • 1分钟链圈 | 韩国科技部:到2022年培养1万名区块链人才!报告:十大数字货币交易所日均收入170万美元,币安位列第一

    这里是 6 月 21 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。

    区块链大本营
  • 一周播报| 阿里、区块链及韭菜的信仰

    2月28日,俗称360公司的三六零安全科技股份有限公司正式在上交所举行上市仪式。三六零公司董事长周鸿祎身穿红衣、红围巾出席了敲钟仪式。与这幅喜庆画风不搭的是,三...

    养码场
  • 【硅谷牛仔】优步CEO,最倒霉的成功创业者 -- 特拉维斯·卡兰尼克

    特拉维斯·卡兰尼克,1977 年出生于美国旧金山,高中毕业后,他考入加利福尼亚大学洛杉矶分校,但1998年辍学。辍学后曾先后创立多家科技公司,2009 年创立U...

    春哥大魔王
  • 3.15 VR扫描:MetaApp完成1亿美元C轮融资;《英灵神殿》六连冠!

    (VRPinea 3月15日讯)今日重点新闻:移动平台MetaApp完成1亿美元C轮融资,融资将用于团队扩张方面;《阿凡达》再度成为全球票房冠军,重映首周末中收...

    VRPinea
  • 大数据周周看 | 遭遇隔空叫板?老对头“联手”出奇招?微软这周很受伤!

    <数据猿导读> 上周,先是Salesforce上半年接连并购超过9家科技公司,被传或是向微软隔空叫板;紧接着谷歌收购云服务公司Orbitera,在后紧追不舍;然...

    数据猿
  • AI一分钟|潘建伟团队首次实现18个量子比特纠缠;特斯拉第二季度共交付40740辆汽车

    国科大网站发文称,中国科学技术大学潘建伟教授及其同事陆朝阳、刘乃乐、汪喜林等通过调控六个光子的偏振、路径和轨道角动量三个自由度,在国际上首次实现 18 个光量子...

    AI科技大本营
  • AI一分钟 | Windows负责人离职;华为2017年收入6036亿元,净利475亿元

    整理 | SuiSui 一分钟AI 因亚利桑那州致命事故尚未解决,Uber放弃加州自动驾驶汽车测试权,不再续办牌照 华为公布2017年财报:年收入6036亿元,...

    AI科技大本营
  • Macbook发布会前来一发 — Surface Studio

    时见疏星
  • Shadow Brokers决定退隐江湖,并放出方程式免费入侵工具

    去年8月Shadow Brokers入侵了NSA的方程式小组,获取了部分软件和黑客工具——这件事大概足以让Shadow Brokers名垂青史了,虽然有关Sha...

    FB客服
  • 从流水线工人,到谷歌上班的程序媛,一位湖南娄底妹子的励志故事...

    工作非常简单单调,上班,吃饭,睡觉,偶尔看看书记记流水账日记,大概工作八九个月的样子,当时在心里埋下的种子开始慢慢发芽,所以当时抽了一个周末就去深圳福田区的某机...

    纯洁的微笑
  • 微软抵御至今最强DDoS攻击、美国联合30余个国家打击全球勒索组织|全球网络安全热点

    我们可以肯定的是,这是针对Azure云客户的最大DDoS攻击。它2020年的Azure1Tbps攻击,微软报告称其“高于之前在Azure上检测到的任何网络容量事...

    腾讯安全
  • Tesla半年市值平均超1000亿美元,马斯克开心解锁7亿美元酬劳宝箱

    举个例子,马斯克在2018年作为Tesla的CEO的收入为23亿美元-但Tesla说,他当年实际上赚了0美元。

    新智元

扫码关注云+社区

领取腾讯云代金券