简介

简介

《软件测试简介》Gitbook在线阅读地址

《软件测试简介》GitHub项目地址

Software testing introduction. An introductory booklet written for friends who are interested in software quality assurance.

软件测试简介。为对软件质量保障感兴趣的小伙伴们撰写的入门小册子。

进度条

  • Dec. 16th 2020 通用测试方法部分完结,撒花!

  • 由于时间关系,暂时停止本仓库的更新。课程后半部分会介绍一系列的特殊测试方法,这部分测试方法相对冷门,可能只有少部分小伙伴会对其感兴趣。如果你对他们感兴趣,可以提issue或者给我的邮箱发邮件催更。这些方法包括:

    • 随机测试、自适应随机测试、组合测试

    • 基于约束的测试

    • 基于搜索的测试、有限状态机测试

    • 变异测试、蜕变测试

    • Fuzzing、故障注入测试、智能软件测试

  • 目前主要精力在另外一个repo的编写上

我想听到你的声音

  • 批评的意见很有价值。 本简介一定有很多做得不好的地方。如果你觉得我写得不好,可以选择提issue或者通过邮箱联系我(ranger.nju#gmail.com)。

  • 如果你觉得我写得不错,可以到GitHub仓库中给我一个Star,也可以在自己的社交圈子中宣传,让更多的人了解这个项目。

本简介对谁有用?

学生,开发者,研究者……几乎所有当代生活者都能从中受益。

  • 学习方向与程序有关的学生。

    • 计算机方向的学生能了解常见的bug的产生原因并在实践中下意识避免,也能够通过对自己的程序进行测试而获得更高的实验评价。

    • 其他方向的学生既然看到这里,相比对计算机相关知识感兴趣,本书或许能够为你开启一段新的职业生涯。

  • 工作内容与程序有关的开发者。

    • 无论你希望直接应用某种测试工具,还是希望自己开发一个,本简介都能帮助你理解背后的工作原理和特性,并选定合适的方法。

  • 研究领域与程序相关的研究者。 或许你希望微调研究方向,却因没有合适的入门材料而苦恼;或许你希望了解计算机领域的相关知识以期获得启发……本简介可以作为你的入门材料或是闲暇读物。

  • 生活与程序相关的每个人

    • 软件质量是信息化时代的重要议题之一,在这个时代生活与工作,你一定会遇到相关的问题。

    • 软件测试这门课程在大学中很常见,但少有公开材料。

    • 测试的思想很容易应用在生活中社交、消费、工作、教育、制造等领域。

不会开发,所以想学测试?

软件测试这门课程在大学中很常见,但往往有同学认为在课程上没有学到有用的东西,对自己的未来发展也没有什么作用。以下的介绍或许会让你对软件测试有新的认识。

软件测试的学术界简介

根据一个知名软件测试领域的网站的统计与调查,数年前软件测试领域的前十大重要的课题,在今天依然存在。

作者所在的大学以人工智能和软件方向见长,有许多老师在“给软件找bug”这件事情上做出了非常酷炫的成果。比如:

  1. 用随机测试的方法给GCC找出了一批真实的bug。

  2. 用特殊方法对并行程序进行测试。(例如,有一款叫做rr的开源软件能够记录下程序运行过程中的每一个细节并回放,从而保证复现bug

  3. 利用人工智能的方法为软件找bug。

软件测试的工业界简介

学生眼中的职场现状

通常来说,小企业会有专门的测试工程师岗位,大企业则倾向于不设专门的测试岗——因为自己写测试用例和维护测试框架是合格开发者的基本素养。

从工资水平上看,测试与运维岗位普遍比开发岗位低。

老师口中的职业前景

一位老师曾经在课上教导我们多用封装与抽象,少用copy-paste编程模式。且提及了有前辈专门针对copy-paste编程模式引入的bug进行研究,进而创业并取得了相当好的成绩。

软件测试方向前景小结

  • 待解决的问题长久存在,但能够解决问题的技术思想与方法日新月异。

  • 不具备创新的眼光与扎实的专业技能,往往不能做出突破性的贡献。

我的其他项目:

《静态程序分析》Gitbook在线阅读地址

《静态程序分析》GitHub项目地址

最后更新于