Linux企业级项目实践之网络爬虫(23)——系统测试:找出系统中的bug

时间:2023-03-08 16:12:53
Linux企业级项目实践之网络爬虫(23)——系统测试:找出系统中的bug

为了验证爬虫的业务流程、性能和健壮性需要进行测试。

软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试的目的:

(1)测试是为了发现程序中的错误而执行程序的过程。
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
(4)测试并不仅仅是为了找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
(5)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
(6)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。

(7)另外,根据测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。

测试方法:
在基本参数如测试时间等,一致的情况下 ,通过设置是否为页面抓取多线程而把两组其他参数完全相同的测试实例分组测试,然后对其结果做比较分析。
改变页面连接数参数和DNS请求数参数,然后把这组测试实例进行测试,并和对应没有改变参数的实例的测试结果做比较、分析。
测试内容:

测试时间TIME,爬行深度DEPT,是否多线程MTHD,最大连接数 CONN,最大DNS请求数CDNS,所获取的页面数PNUM,所获取容量MB,每秒爬行页数 P/S,每秒爬行容量MB/S

测试原则:
1、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
2、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
3、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,如网络异常中断、电源断电等。
4、应该充分注意测试中的群集现象。
5、对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。
6、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成也有一个高水平的测试。
7妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。