简介
简介
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”这件事情上做出了非常酷炫的成果。比如:
用随机测试的方法给GCC找出了一批真实的bug。
用特殊方法对并行程序进行测试。(例如,有一款叫做rr的开源软件能够记录下程序运行过程中的每一个细节并回放,从而保证复现bug)
跳出程序分析领域的固有认知,提出新的分析方法实现高精度高速度的分析。
利用人工智能的方法为软件找bug。
软件测试的工业界简介
学生眼中的职场现状
通常来说,小企业会有专门的测试工程师岗位,大企业则倾向于不设专门的测试岗——因为自己写测试用例和维护测试框架是合格开发者的基本素养。
从工资水平上看,测试与运维岗位普遍比开发岗位低。
老师口中的职业前景
一位老师曾经在课上教导我们多用封装与抽象,少用copy-paste编程模式。且提及了有前辈专门针对copy-paste编程模式引入的bug进行研究,进而创业并取得了相当好的成绩。
软件测试方向前景小结
待解决的问题长久存在,但能够解决问题的技术思想与方法日新月异。
不具备创新的眼光与扎实的专业技能,往往不能做出突破性的贡献。
我的其他项目:
最后更新于