软件测试小组大作业
- 1. 毕业意向
我毕业后想要从事的职位是软件安全测试工程师或者网络安全工程师。网络安全属于新兴专业,选择网络安全专业的人目前很少,但是市场需求却很大。预计到2020年市场缺口达到273%。所以该行业竞争压力较小,但是我毕业以后的初步打算是还是要考研的,毕竟学历越高,所研究和解决问题的能力就越高。想要工作的城市是北京上海或者是成都等大城市,毕竟大城市的机会还是比较多的,发展前景与发展空间也很大。
- 2. 对软件安全测试的认识
- 1. 软件安全:包括两个层面:①是应用程序本身的安全性。一般来说,应用程序的安全问题主要是由软件漏洞导致的,这些漏洞可以是设计上的缺陷或是编程上的问题,甚至是开发人员预留的后门。②是应用程序的数据安全,包括数据存储安全和数据传输安全两个方面。
- 2. 安全测试:安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。应用程序级安全测试的主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力, 根据安全指标不同测试策略也不同。注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。例如,测试应用软件在防止非授权的内部或外部用户的访问或故意破坏等情况时的运作。
- 3. 安全测试方法:
①静态的代码安全测试:主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞。静态的源代码安全测试是非常有用的方法,它可以在编码阶段找出所有可能存在安全风险的代码,这样开发人员可以在早期解决潜在的安全问题。而正因为如此,静态代码测试比较适用于早期的代码开发阶段,而不是测试阶段。
②动态的渗透测试:渗透测试也是常用的安全测试方法。是使用自动化工具或者人工的方法模拟黑客的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞。这种测试的特点就是真实有效,一般找出来的问题都是正确的,也是较为严重的。但渗透测试一个致命的缺点是模拟的测试数据只能到达有限的测试点,覆盖率很低。
③程序数据扫描。一个有高安全性需求的软件,在运行过程中数据是不能遭到破坏的,否则就会导致缓冲区溢出类型的攻击。数据扫描的手段通常是进行内存测试,内存测试可以发现许多诸如缓冲区溢出之类的漏洞,而这类漏洞使用除此之外的测试手段都难以发现。例如,对软件运行时的内存信息进行扫描,看是否存在一些导致隐患的信息,当然这需要专门的工具来进行验证,手工做是比较困难的。
- 3. 对软件测试小组的意见和困难
对软件测试小组的意见就是增加安全方向的软件测试。遇到的困难就是没有直系的学长,对于该专业还是比较迷茫。再者网络安全专业需要学的知识有很多,感觉目前还没有比较成熟的学习计划。经过一个学期的学习,我对于计算机以及这个专业已经有了一个大概的认识。并不像刚刚入学时那样什么都不懂。所以,我相信在之后的学习中,随着知识的不断积累,一定可以找到合适学习的方向。
- 4. 2020年春学期的学习计划(大于400小时的学习时间,至少掌握2门技术)
课外学习计算机网络知识及其工作原理。
课外学习Linux操作系统及其工作原理。
- 5. 寒假学习目标(大于80学时,掌握一门技术)
1.18日之前完成500行练习代码。
1.20-1.26 Python基础知识和函数,入门基础练习题。
1.27-2.2 Python高级特性,函数式编程,模块。(除教程示例源代码之外再完成基础练习题不少于20题。完成代码1500行。完成中期考核。)
2.3-2.9 Python进阶:面向对象的编程。
2.10-2.16 Python课程设计:银行管理和名片系统;Python实例不少于30题完成。
来源:https://www.cnblogs.com/zhuxiaotong/p/12190116.html