扫码关注公众号
软件测试按开发阶段划分为哪几类?你认为这几类中最重要的是哪个?
(1)根据开发阶段分为5类:分别为:单元测试、集成测试、系统测试、验收测试、回归测试(2)系统测试最重要首先在进行系统测试的时候,单元测试和集成测试已经完成了。这就能保证构成软件的最小功能正确,并且能够保证模块与模块之间的接口也都OK。其次我认为:开发软件就是为了能满足用户提出的需求文档的所有功能,提供一个可交付的软件。那么系统测试就是对软件的全部功能进行测试,里边覆盖系统的所有联合部件,是针对整个软件系统进行完成整的、全面的测试的。除此之外它还能验证软件实现的功能是否能满足需求文档规范的功能。由此看来它的作用很大,因此我认为在这几个测试中,系统测试很重要。
谈谈α和β测试是什么,两者区别是什么?
(1)α测试:首先α测试是用户来进行测试的,不能有开发人员或者测试人员完成。在测试的时候,用户会被邀请到公司中,在开发环境中进行测试(2)β测试:β测试是一种验收测试,它要求的软件的最终用户们,在一个或者多个场所下对软件进行测试。(3)两者区别从测试人数,时间集中性、用户数量上:α测试环境受开发方控制,测试的人数较少,时间较集中。β测试环境不收卡发方控制,测试的人数较多,时间不集中。从测试先后顺序上:α测试先于β测试。从测试场所上:α测试是在公司内部,处在开发环境中进行测试的。β测试是在多个场所下进行测试的。
请谈一谈自动化测试和非自动化测试的优缺点
(1)自动化测试自动化测试就是把将人手工测试的全过程,通过代码的编写,让机器去执行。进而解放了人的双手,提高了效率。(2)非自动化测试就是手工测试,编写测试用例,一个一个去进行测试,并观察最终的结果。(3)自动化测试优点最大的优点就是提升了工作测试效率:试想,用一个机器设定好测试的结构让机器去执行远远比人的效率更高。只要脚本设计可靠信高,机器在执行的时候不管是运算、输入都比人快的多。让回归测试更方便:产品在发布之后,并不是一成不变的。它会根据用户的使用,改进或者增添新的功能,新功能的引入势必会牵扯到回归测试。因为自动化在回归测试的上一次已经对大部分功能测试编写好了脚本,后边回归测试时只需要简单的改一下脚本就好,让回归变得更方便。能腾出更多的资源:说白了还是提升了效率。只要自动化测试脚本编写好了之后,测试人员直接启动机器,机器自己测试即可。此时就腾出了人,可以让人去做别的事情,提高工作效率抗错误能力好:手工测试,只要是人来进行的事情就有可能出错。但是机器执行就避开了这一点,只要你测试脚本写的没问题,机器从来不会因为工作时间长或者工作疲惫而造成错误。(4)自动化测试缺点最大的缺点就是没有探索性,一根筋:由于是机器执行,根本不会对测试进行改进。人们设置啥,他就执行啥,在实际测试过程中,可能人在测试的时候突然想到了更好的测试方法,或者出现了新的测试点。但是自动化测试时完全做不到。永远不能替代手动测试:这点毋庸置疑,因为它就是因为人才能存在的,永远代替不了人。会制约软件开发对测试质量的依懒性很大:依赖人编写的脚本,因此脚本的质量直接决定这测试的最终结果。(5)手工测试优点主要是能进行探索性测试:能够在测试的过程中发现新的测试垫子。能及时止损:一旦在刚开始发现错误就会进行处理,不想自动化那样,,一股脑的进行(6)手工测试缺点执行效率低:用人去手动的做一件事情,效率会比较慢。不能模拟大数据测试:人手动输入的数据量是有限制的,不能模拟大数据的输入进行压力测试。出错性高:还是那句话:“凡是人做的事情,都有可能出错”。在循环的做一件事情的时候,对人的生理还是心理都是一个挑战,总有出错的可能