CN110297755B - 一种软件测试方法和装置 - Google Patents

一种软件测试方法和装置 Download PDF

Info

Publication number
CN110297755B
CN110297755B CN201810247309.9A CN201810247309A CN110297755B CN 110297755 B CN110297755 B CN 110297755B CN 201810247309 A CN201810247309 A CN 201810247309A CN 110297755 B CN110297755 B CN 110297755B
Authority
CN
China
Prior art keywords
test result
error
software
test
tested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810247309.9A
Other languages
English (en)
Other versions
CN110297755A (zh
Inventor
敖琪
傅杰
高翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201810247309.9A priority Critical patent/CN110297755B/zh
Publication of CN110297755A publication Critical patent/CN110297755A/zh
Application granted granted Critical
Publication of CN110297755B publication Critical patent/CN110297755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种软件测试方法和装置,所述方法包括:对待测试软件进行至少一次的测试;获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件;当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。在本发明实施例中,在对软件进行测试时,对软件的测试结果进行有效性判断。可以有效消除在不稳定系统中对软件进行测试时,由非软件引起的不稳定因素对测试结果的影响。

Description

一种软件测试方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种软件测试方法和一种软件测试装置。
背景技术
软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
在软件测试过程中,由于系统(包括硬件层面和底层软件层面)的不稳定性,可能会对被测软件的执行结果产生影响。有些错误是由于底层系统的问题,但是在软件测试的过程中却被发现为错误。这会影响软件测试的结果,甚至产生错误测试结论,以致误导后续的软件开发过程。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种软件测试方法和相应的一种软件测试装置。
为了解决上述问题,本发明实施例公开了一种软件测试方法,包括:
对待测试软件进行至少一次的测试;
获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;其中,所述有效性条件是指预先设定的用于判定测试结果为有效结果的条件,所述有效结果是指由待测试软件引起的结果;
若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件;
当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。
优选的,所述测试结果包括:成功、失败和错误;所述判断测试结果是否满足有效性条件的步骤包括:
若所述测试结果为成功或失败,则确定所述测试结果满足有效性条件;
若所述测试结果为错误,则判断所述测试结果是否属于由待测试软件引起的错误;
若所述测试结果属于由待测试软件引起的错误,则确定所述测试结果满足有效性条件;
若所述测试结果不属于由待测试软件引起的错误,则确定所述测试结果不满足有效性条件。
优选的,所述判断测试结果是否属于由待测试软件引起的错误的步骤包括:
判断所述测试结果是否属于第一错误列表中包含的错误或属于第二错误列表中包含的错误;所述第一错误列表中记录有由待测试软件引起的错误,所述第二错误列表中记录有由非待测试软件引起的错误;
若所述测试结果是属于第一错误列表中包含的错误,则确定所述测试结果为由待测试软件引起的错误;
若所述测试结果是属于第二错误列表中包含的错误,则确定所述测试结果为由非待测试软件引起的错误。
优选的,所述判断测试结果是否属于由待测试软件引起的错误的步骤还包括:
若所述测试结果不属于第一错误列表中包含的错误或第二错误列表中包含的错误,则生成判断通知消息;
接收针对所述判断通知消息返回的判断结果;
依据所述判断结果,将所述测试结果所表征的错误添加到所述第一错误列表中或所述第二错误列表中。
优选的,所述根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试的步骤包括:
分别统计测试结果为成功的次数、测试结果为失败的次数,以及测试结果为由待测试软件引起的错误的次数;
根据所述测试结果为成功的次数、所述测试结果为失败的次数,以及所述测试结果为由待测试软件引起的错误的次数计算通过率;
若所述通过率大于预设通过率阈值,则确定所述待测试软件通过测试;
若所述通过率小于或等于所述预设通过率阈值,则确定所述待测试软件不通过测试。
本发明实施例还公开了一种软件测试装置,包括:
测试模块,用于对待测试软件进行至少一次的测试;
有效判断模块,用于获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;其中,所述有效性条件是指预先设定的用于判定测试结果为有效结果的条件,所述有效结果是指由待测试软件引起的结果;
重测模块,用于若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件;
通过判断模块,用于当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。
优选的,所述测试结果包括:成功、失败和错误;所述有效判断模块包括:
第一有效确定子模块,用于若所述测试结果为成功或失败,则确定所述测试结果满足有效性条件;
错误判断子模块,用于若所述测试结果为错误,则判断所述测试结果是否属于由软件引起的错误;
第二有效确定子模块,用于若所述测试结果属于由待测试软件引起的错误,则确定测试结果满足有效性条件;
第三有效确定子模块,用于若所述测试结果不属于由待测试软件引起的错误,则确定测试结果不满足有效性条件。
优选的,所述错误判断子模块包括:
错误判断单元,用于判断所述测试结果是否属于第一错误列表中包含的错误或属于第二错误列表中包含的的错误;所述第一错误列表中记录有由待测试软件引起的错误,所述第二错误列表中记录有由非待测试软件引起的错误;
第一错误确定单元,用于若所述测试结果是属于第一错误列表中包含的错误,则确定所述测试结果为由待测试软件引起的错误;
第二错误确定单元,用于若所述测试结果是属于第二错误列表中包含的错误,则确定所述测试结果为由非待测试软件引起的错误。
优选的,所述错误判断子模块还包括:
通知生成单元,用于若所述测试结果不属于第一错误列表中包含的错误或第二错误列表中包含的错误,则生成判断通知消息;
判断结果接收单元,用于接收针对所述判断通知消息返回的判断结果;
错误添加单元,用于依据所述判断结果,将所述测试结果所表征的错误添加到所述第一错误列表中或所述第二错误列表中。
优选的,所述通过判断模块包括:
次数统计子模块,用于分别统计测试结果为成功的次数、测试结果为失败的次数,以及测试结果为由待测试软件引起的错误的次数;
通过率计算子模块,用于根据所述测试结果为成功的次数、所述测试结果为失败的次数,以及所述测试结果为由待测试软件引起的错误的次数计算通过率;
通过确定子模块,用于若所述通过率大于预设通过率阈值,则确定所述待测试软件通过测试;
不通过确定子模块,用于若所述通过率小于或等于所述预设通过率阈值,则确定所述待测试软件不通过测试。
本发明实施例还公开了一种软件测试装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
在本发明实施例中,在对软件进行测试时,对软件的测试结果进行有效性判断。若测试结果不满足有效性条件,则重新进行测试,直到测试结果满足有效性条件。根据满足有效性条件的测试结果,判断软件是否通过测试。本发明实施例,由于除了待测试软件引起的结果之外产生的结果,包括由不稳定系统导致的错误,因此,将不稳定系统导致的测试结果确定为不满足有效性条件的测试结果,仅根据满足有效性条件的测试结果,判断软件是否通过测试,可以有效消除在不稳定系统中对软件进行测试时,由非软件引起的不稳定因素对测试结果的影响。
附图说明
图1是本发明的一种软件测试方法实施例的步骤流程图;
图2是本发明的一种软件测试装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种软件测试方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,对待测试软件进行至少一次的测试;
在不稳定系统(也称不可靠系统)中对软件进行测试时,由于系统的不稳定性,可能会导致测试产生错误。这些不是由待测试软件本身引起的错误,会对测试的通过率产生影响,以致于影响测试结论。其中,所述不稳定系统是指稳定性不满足要求的系统,系统的稳定性可以用平均失效间隔时间MTBF(Mean Time Between Failures)、平均故障修复时间MTTR(Mean Time To Repairs)、平均故障间隔时间MTBF(Mean Time Between Failure)等指标来评价。
测试过程可以为:在不稳定系统中,安装测试软件或测试工具。通过测试软件或测试工具对待测试软件进行测试。
步骤102,获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;其中,所述有效性条件是指预先设定的用于判定测试结果为有效结果的条件,所述有效结果是指由待测试软件引起的结果。
测试软件或测试工具会生成每一次测试的测试结果。在本发明实施例中,为了减少不稳定系统对测试的影响,对测试结果进行有效性的判断。若某次测试的测试结果不满足预设的有效性条件,则认为该次测试无效,并重新进行测试,直至测试结果满足有效性条件,视为测试结果有效。
在本发明实施例中,测试结果包括:成功、失败、错误;待测试软件引起的结果包括:成功、失败、以及由待测试软件引起的错误。所述判断测试结果是否满足有效性条件的步骤可以包括如下子步骤:
子步骤S11,若所述测试结果为成功或失败,则确定所述测试结果满足有效性条件。
成功是指测试结果符合预期结果;
失败是指测试结果不符合预期结果,但是在测试软件或测试工具的可判断范围内;可判断范围是指测试结果属于测试人员预先可以知道的结果。测试人员在编写测试软件或测试工具时,设定期望出现的结果和不期望出现的结果,期望出现结果即为符合预期结果,不期望出现的结果则为不符合预期结果。预期结果可以是根据软件需求设定的。无论是符合预期结果的测试结果,还是不符合预期结果的测试结果都属于可判断范围内。上述失败是指可判断范围内的不符合预期结果。
错误是指测试结果不符合预期结果,并且不在测试软件或测试工具的可判断范围内。测试软件或测试工具可以记录出现错误的原因和/或出现错误时的表现,根据出现错误的原因和/或出现错误时的表现,可以分析错误是由待测试软件引起还是由非待测试软件引起。
在本发明实施例中,错误可以分为由待测试软件引起的错误,以及由非待测试软件引起的错误这两种。
例如,在对以下待测试软件测试时:
if(a==b)
return true;
else
retuen false;
其中,期望结果是a==b;若返回ture,则表示在可判断范围内符合预期结果,测试结果为成功;若返回false,则表示在可判断范围内但不符合预期结果,测试结果为失败。除了true和false之外的其他结果都属于错误。如果在测试过程中,出现了段错误(段错误是指访问的内存超出了系统所给这个程序的内存空间而引起的错误)等程序错误,则测试结果为由待测试软件引起的错误;如果在测试过程中,发生了内核崩溃或者死机等现象,则测试结果为由非待测试软件引起的错误。
子步骤S12,若所述测试结果为错误,则判断所述测试结果是否属于由待测试软件引起的错误。
在本发明实施例中,所述子步骤S12可以进一步包括:
子步骤S121,判断所述测试结果是否属于第一错误列表中包含的错误或属于第二错误列表中包含的错误;所述第一错误列表中记录有至少一项由待测试软件引起的错误的错误类型,所述第二错误列表中记录有至少一项由非待测试软件引起的错误的错误类型。
进一步的,第一错误列表和/或第二错误列表中还可以包含错误类型所对应的各种错误表现,该错误表现为其所属的错误类型的各种呈现形式,例如,错误1:错误类型为网络连接问题,错误表现1为网络连接超时,错误表现2为网络连接断开;错误2:错误类型为内核错误,错误表现为Kernel Panic(内核错误)。
第一错误列表和第二错误列表都是由测试人员创建的,测试人员可以为一种错误表现归纳一一对应的一种错误类型,也可以将多种错误表现归纳到同一种错误类型。其中,第二错误列表中的错误均为非待测试软件引起的错误,如不稳定系统所导致的错误。
子步骤S122,若所述测试结果是属于第一错误列表中包含的错误,则确定所述测试结果为由待测试软件引起的错误。
例如,当测试结果为错误类型时,遍历第一错误列表,查询测试结果是否与第一错误列表中的错误类型相同。
又如,当测试结果为错误表现时,遍历第一错误列表,查询测试结果是否与第一列表中的错误表现相同。
子步骤S123,若所述测试结果是属于第二错误列表中包含的错误,则确定所述测试结果为由非待测试软件引起的错误。
例如,当测试结果为错误类型时,遍历第二错误列表,查询测试结果是否与第二错误列表中的错误类型相同。
又如,当测试结果为错误表现时,遍历第二错误列表,查询测试结果是否与第二列表中的错误表现相同。
在本发明实施例中,预先设置有第一错误列表和第二错误列表,第一错误列表中记录了由待测试软件引起的错误,第二错误列表中记录了由非待测试软件引起的错误。例如,网络连接超时、内核错误、硬盘校验失败等,均属于第二错误列表中记录的错误。
如果当前测试结果所表征的错误是属于第一错误列表中的错误,则该测试结果为由待测试软件引起的错误。如果当前测试结果的错误是属于第二错误列表中的错误,则该测试结果为由非待测试软件引起的错误。
进一步的,所述子步骤S12还可以包括:
子步骤S124,若测试结果不属于第一错误列表中包含的错误或第二错误列表中包含的错误,则生成判断通知消息。
子步骤S125,接收针对所述判断通知消息返回的判断结果。
若测试结果既不属于第一错误列表中的错误,也不属于第二错误列表中的错误,则生成判断通知消息并告知测试人员,由测试人员人工判断测试结果是属于由待测试软件引起的错误,还是属于由非待测试软件引起的错误。
子步骤S126,依据所述判断结果,将所述测试结果所表征的错误添加到所述第一错误列表中或所述第二错误列表中。
在测试人员输入测试结果为由待测试软件引起的错误或者由非待测试软件引起的错误的判断结果后,依据所述判断结果,将所述测试结果的错误添加到所述第一错误列表中或所述第二错误列表中。
具体的,在根据测试人员输入的判断结果,确定测试结果是属于由待测试软件引起的错误还是属于由非待测试软件引起的错误后,若测试结果的错误是属于由待测试软件引起的错误,则将该错误添加到第一错误列表中;若测试结果的错误是属于由非待测试软件引起的错误,则将该错误添加到第二错误列表中。这样,可以更加完善第一错误列表或第二错误列表中的错误,在之后再次出现同样的错误时,可以自动化判断错误是属于第一错误列表中的错误或第二错误列表中的错误,无需人工判断。
子步骤S13,若所述测试结果属于由待测试软件引起的错误,则确定所述测试结果满足有效性条件。
子步骤S14,若所述测试结果不属于由待测试软件引起的错误,则确定所述测试结果不满足有效性条件。
在本发明实施例中,若测试结果不属于由待测试软件引起的错误,即测试结果为由非待测试软件引起的错误,则确定测试结果不满足有效性条件。
步骤103,若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件。
例如,假设在软件测试过程中,测试结果为成功次数为a、失败次数为b、由待测试软件引起的错误次数为c;在软件测试未开始的初始状态下,a=b=c=0,在软件测试开始后,测试结果每出现一次成功,则a加1;测试结果每出现一次失败,则b加1;测试结果每出现一次错误,则c加1。当测试结果为由非待测试软件引起的错误时,a、b、c不变,重新进行测试。
步骤104,当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。
直到a+b+c的结果为预设数目阈值N时(进行了N次有效测试),测试结束。根据测试结果判断软件是否通过测试。
其中,N为大于或者等于1的数值;当对待测试软件进行测试的软件测试类型为稳定型测试(如功能性测试)时,该N值可以为最小值等于1的数值,即当测试结果为正确时,确定待测试软件通过测试,当测试结果为错误时,确定待测试软件不通过测试;当对待测试软件进行测试的软件测试类型为不稳定型测试时,该N值为大于1的数值。预设数目阈值N由人为设定,测试人员可以根据测试成本(如,时间成本,时间越紧张,N值设定越小)、测试精度要求(精度要求越高,N值设定越大)、系统稳定性要求(系统稳定性越高,N值设定越小)设定N值的大小。
具体的,可以根据通过率来判断软件是否通过测试。在本发明实施例中,所述步骤104可以包括如下子步骤:
子步骤S21,分别统计测试结果为成功的次数、测试结果为失败的次数,以及测试结果为由待测试软件引起的错误的次数。
子步骤S22,根据所述测试结果为成功的次数、所述测试结果为失败的次数,以及所述测试结果为由待测试软件引起的错误的次数计算通过率。
子步骤S23,若通过率大于预设通过率阈值,则确定所述待测试软件通过测试。
子步骤S24,若通过率小于或等于所述预设通过率阈值,则确定所述待测试软件不通过测试。
例如,假设测试结果为成功次数为a、失败次数为b、由待测试软件引起的错误次数为c,总的有效测试的次数为N(N=a+b+c),则通过率为a/N*100%。
其中,上述预设通过率阈值为根据具体测试场景预先设置的值。
在本发明实施例中,在对软件进行测试时,对软件的测试结果进行有效性判断。若测试结果不满足有效性条件,则重新进行测试,直到测试结果满足有效性条件。根据满足有效性条件的测试结果,判断软件是否通过测试。本发明实施例,由于除了待测试软件引起的结果之外产生的结果,包括由不稳定系统导致的错误,因此,将不稳定系统导致的测试结果确定为不满足有效性条件的测试结果,仅针对满足有效性条件的测试结果,判断软件是否通过测试,可以有效消除在不稳定系统中对软件进行测试时,由非软件引起的不稳定因素对测试结果的影响。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种软件测试装置实施例的结构框图,具体可以包括如下模块:
测试模块201,用于对待测试软件进行至少一次的测试;
有效判断模块202,用于获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;其中,所述有效性条件是指预先设定的用于判定测试结果为有效结果的条件,所述有效结果是指由待测试软件引起的结果;
重测模块203,用于若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件;
通过判断模块204,用于当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。
在本发明实施例中,所述测试结果可以包括:成功、失败和错误;所述有效判断模块202可以包括:
第一有效确定子模块,用于若所述测试结果为成功或失败,则确定所述测试结果满足有效性条件;
错误判断子模块,用于若所述测试结果为错误,则判断所述测试结果是否属于由软件引起的错误;
第二有效确定子模块,用于若所述测试结果属于由待测试软件引起的错误,则确定测试结果满足有效性条件;
第三有效确定子模块,用于若所述测试结果不属于由待测试软件引起的错误,则确定测试结果不满足有效性条件。
在本发明实施例中,所述错误判断子模块可以包括:
错误判断单元,用于判断所述测试结果是否属于第一错误列表中包含的错误或属于第二错误列表中包含的的错误;所述第一错误列表中记录有由待测试软件引起的错误,所述第二错误列表中记录有由非待测试软件引起的错误;
第一错误确定单元,用于若所述测试结果是属于第一错误列表中包含的错误,则确定所述测试结果为由待测试软件引起的错误;
第二错误确定单元,用于若所述测试结果是属于第二错误列表中包含的错误,则确定所述测试结果为由非待测试软件引起的错误。
在本发明实施例中,所述错误判断子模块还可以包括:
通知生成单元,用于若所述测试结果不属于第一错误列表中包含的错误或第二错误列表中包含的错误,则生成判断通知消息;
判断结果接收单元,用于接收针对所述判断通知消息返回的判断结果;
错误添加单元,用于依据所述判断结果,将所述测试结果所表征的错误添加到所述第一错误列表中或所述第二错误列表中。
在本发明实施例中,所述通过判断模块204可以包括:
次数统计子模块,用于分别统计测试结果为成功的次数、测试结果为失败的次数,以及测试结果为由待测试软件引起的错误的次数;
通过率计算子模块,用于根据所述测试结果为成功的次数、所述测试结果为失败的次数,以及所述测试结果为由待测试软件引起的错误的次数计算通过率;
通过确定子模块,用于若所述通过率大于预设通过率阈值,则确定所述待测试软件通过测试;
不通过确定子模块,用于若所述通过率小于或等于所述预设通过率阈值,则确定所述待测试软件不通过测试。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种软件测试方法和一种软件测试装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种软件测试方法,其特征在于,包括:
在不稳定系统中对待测试软件进行至少一次的测试;
获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;其中,所述有效性条件是指预先设定的用于判定测试结果为有效结果的条件,所述有效结果是指由待测试软件引起的结果;所述测试结果包括错误;所述错误是指所述测试结果不符合预期结果,并且不在测试软件或测试工具的可判断范围内;所述判断所述测试结果是否满足有效性条件包括:若所述测试结果不属于由待测试软件引起的错误,则确定所述测试结果不满足有效性条件;
若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件;
当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。
2.根据权利要求1所述的方法,其特征在于,所述测试结果还包括:成功、失败;所述判断所述测试结果是否满足有效性条件还包括:
若所述测试结果为成功或失败,则确定所述测试结果满足有效性条件;
若所述测试结果为错误,则判断所述测试结果是否属于由待测试软件引起的错误;
若所述测试结果属于由待测试软件引起的错误,则确定所述测试结果满足有效性条件。
3.根据权利要求2所述的方法,其特征在于,所述判断所述测试结果是否属于由待测试软件引起的错误的步骤包括:
判断所述测试结果是否属于第一错误列表中包含的错误或属于第二错误列表中包含的错误;所述第一错误列表中记录有由待测试软件引起的错误,所述第二错误列表中记录有由非待测试软件引起的错误;
若所述测试结果是属于第一错误列表中包含的错误,则确定所述测试结果为由待测试软件引起的错误;
若所述测试结果是属于第二错误列表中包含的错误,则确定所述测试结果为由非待测试软件引起的错误。
4.根据权利要求3所述的方法,其特征在于,所述判断所述测试结果是否属于由待测试软件引起的错误的步骤还包括:
若所述测试结果不属于第一错误列表中包含的错误或第二错误列表中包含的错误,则生成判断通知消息;
接收针对所述判断通知消息返回的判断结果;
依据所述判断结果,将所述测试结果所表征的错误添加到所述第一错误列表中或所述第二错误列表中。
5.根据权利要求2所述的方法,其特征在于,所述根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试的步骤包括:
分别统计测试结果为成功的次数、测试结果为失败的次数,以及测试结果为由待测试软件引起的错误的次数;
根据所述测试结果为成功的次数、所述测试结果为失败的次数,以及所述测试结果为由待测试软件引起的错误的次数计算通过率;
若所述通过率大于预设通过率阈值,则确定所述待测试软件通过测试;
若所述通过率小于或等于所述预设通过率阈值,则确定所述待测试软件不通过测试。
6.一种软件测试装置,其特征在于,包括:
测试模块,用于在不稳定系统中对待测试软件进行至少一次的测试;
有效判断模块,用于获取每次测试的测试结果,并判断所述测试结果是否满足有效性条件;其中,所述有效性条件是指预先设定的用于判定测试结果为有效结果的条件,所述有效结果是指由待测试软件引起的结果;所述测试结果包括错误;所述错误是指所述测试结果不符合预期结果,并且不在测试软件或测试工具的可判断范围内;所述有效判断模块包括:第三有效确定子模块,用于若所述测试结果不属于由待测试软件引起的错误,则确定所述测试结果不满足有效性条件;
重测模块,用于若存在任一次的测试结果不满足有效性条件,则对所述待测试软件重新进行测试,直至测试结果满足有效性条件;
通过判断模块,用于当满足有效性条件的测试结果的数目达到预设数目阈值时,停止测试并根据满足有效性条件的测试结果,判断所述待测试软件是否通过测试。
7.根据权利要求6所述的装置,其特征在于,所述测试结果还包括:成功、失败和错误;所述有效判断模块还包括:
第一有效确定子模块,用于若所述测试结果为成功或失败,则确定所述测试结果满足有效性条件;
错误判断子模块,用于若所述测试结果为错误,则判断所述测试结果是否属于由软件引起的错误;
第二有效确定子模块,用于若所述测试结果属于由待测试软件引起的错误,则确定测试结果满足有效性条件。
8.根据权利要求7所述的装置,其特征在于,所述错误判断子模块包括:
错误判断单元,用于判断所述测试结果是否属于第一错误列表中包含的错误或属于第二错误列表中包含的错误;所述第一错误列表中记录有由待测试软件引起的错误,所述第二错误列表中记录有由非待测试软件引起的错误;
第一错误确定单元,用于若所述测试结果是属于第一错误列表中包含的错误,则确定所述测试结果为由待测试软件引起的错误;
第二错误确定单元,用于若所述测试结果是属于第二错误列表中包含的错误,则确定所述测试结果为由非待测试软件引起的错误。
9.根据权利要求8所述的装置,其特征在于,所述错误判断子模块还包括:
通知生成单元,用于若所述测试结果不属于第一错误列表中包含的错误或第二错误列表中包含的错误,则生成判断通知消息;
判断结果接收单元,用于接收针对所述判断通知消息返回的判断结果;
错误添加单元,用于依据所述判断结果,将所述测试结果所表征的错误添加到所述第一错误列表中或所述第二错误列表中。
10.根据权利要求7所述的装置,其特征在于,所述通过判断模块包括:
次数统计子模块,用于分别统计测试结果为成功的次数、测试结果为失败的次数,以及测试结果为由待测试软件引起的错误的次数;
通过率计算子模块,用于根据所述测试结果为成功的次数、所述测试结果为失败的次数,以及所述测试结果为由待测试软件引起的错误的次数计算通过率;
通过确定子模块,用于若所述通过率大于预设通过率阈值,则确定所述待测试软件通过测试;
不通过确定子模块,用于若所述通过率小于或等于所述预设通过率阈值,则确定所述待测试软件不通过测试。
11.一种软件测试装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求1-5所述的一个或多个的方法。
12.一个或多个机器可读介质,其上存储有指令,当所述指令被一个或多个处理器执行时,实现执行如权利要求1-5所述的一个或多个的方法。
CN201810247309.9A 2018-03-23 2018-03-23 一种软件测试方法和装置 Active CN110297755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810247309.9A CN110297755B (zh) 2018-03-23 2018-03-23 一种软件测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810247309.9A CN110297755B (zh) 2018-03-23 2018-03-23 一种软件测试方法和装置

Publications (2)

Publication Number Publication Date
CN110297755A CN110297755A (zh) 2019-10-01
CN110297755B true CN110297755B (zh) 2023-09-12

Family

ID=68026143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810247309.9A Active CN110297755B (zh) 2018-03-23 2018-03-23 一种软件测试方法和装置

Country Status (1)

Country Link
CN (1) CN110297755B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058493A (en) * 1997-04-15 2000-05-02 Sun Microsystems, Inc. Logging and reproduction of automated test operations for computing systems
CN102650966A (zh) * 2011-02-24 2012-08-29 王轶辰 一种面向复用的嵌入式软件测试方法及其测试系统
CN103034571A (zh) * 2011-09-30 2013-04-10 亚旭电子科技(江苏)有限公司 手持式电子产品的读写测试方法
CN105677571A (zh) * 2016-01-29 2016-06-15 努比亚技术有限公司 移动终端软件兼容性测试装置及方法
CN105930276A (zh) * 2016-06-30 2016-09-07 乐视控股(北京)有限公司 一种识别测试用例失败原因的方法及装置
CN106886488A (zh) * 2015-12-16 2017-06-23 阿里巴巴集团控股有限公司 异常处理方法及装置
CN107168871A (zh) * 2017-04-28 2017-09-15 安徽四创电子股份有限公司 一种在RESTful接口开发中快速调试的方法
CN107229562A (zh) * 2016-03-25 2017-10-03 展讯通信(天津)有限公司 一种测试报告自动统计分析方法及装置
CN107341104A (zh) * 2017-06-16 2017-11-10 广州云测信息技术有限公司 一种基于云测试的测试结果处理方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195983B2 (en) * 2008-10-22 2012-06-05 International Business Machines Corporation Method and system for evaluating software quality
KR101695015B1 (ko) * 2012-07-05 2017-01-11 한국전자통신연구원 오류 기반 소프트웨어 시험 방법 및 오류 기반 소프트웨어 시험 시스템
CN103699463B (zh) * 2012-09-28 2017-12-05 联想企业解决方案(新加坡)有限公司 一种使用Xeon处理器的服务器的内存测试方法和系统
US9535818B2 (en) * 2012-10-16 2017-01-03 Microsoft Technology Licensing, Llc Identifying high impact bugs
US10146674B2 (en) * 2016-06-16 2018-12-04 Vmware, Inc. Plugin-based software verification system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058493A (en) * 1997-04-15 2000-05-02 Sun Microsystems, Inc. Logging and reproduction of automated test operations for computing systems
CN102650966A (zh) * 2011-02-24 2012-08-29 王轶辰 一种面向复用的嵌入式软件测试方法及其测试系统
CN103034571A (zh) * 2011-09-30 2013-04-10 亚旭电子科技(江苏)有限公司 手持式电子产品的读写测试方法
CN106886488A (zh) * 2015-12-16 2017-06-23 阿里巴巴集团控股有限公司 异常处理方法及装置
CN105677571A (zh) * 2016-01-29 2016-06-15 努比亚技术有限公司 移动终端软件兼容性测试装置及方法
CN107229562A (zh) * 2016-03-25 2017-10-03 展讯通信(天津)有限公司 一种测试报告自动统计分析方法及装置
CN105930276A (zh) * 2016-06-30 2016-09-07 乐视控股(北京)有限公司 一种识别测试用例失败原因的方法及装置
CN107168871A (zh) * 2017-04-28 2017-09-15 安徽四创电子股份有限公司 一种在RESTful接口开发中快速调试的方法
CN107341104A (zh) * 2017-06-16 2017-11-10 广州云测信息技术有限公司 一种基于云测试的测试结果处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
要日天.robotium测试用例操作失败自动重跑测试用例方法.《https://blog.csdn.net/w306695293/article/details/54969866》.2017,1-2. *

Also Published As

Publication number Publication date
CN110297755A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US7475387B2 (en) Problem determination using system run-time behavior analysis
CN112256507B (zh) 芯片故障诊断方法、装置、可读存储介质及电子设备
CN114860487A (zh) 一种内存故障识别方法及一种内存故障隔离方法
CN110297755B (zh) 一种软件测试方法和装置
US9268608B2 (en) Automatic administration of UNIX commands
CN112286798A (zh) 一种可模拟真实用户场景的全链路压测系统及方法
Gonzalez-Sanchez et al. An empirical study on the usage of testability information to fault localization in software
CN115840686A (zh) 一种服务器性能测试方法、装置、电子设备以及存储介质
US8739130B2 (en) Quality assurance testing
CN115562918A (zh) 计算机系统故障的测试方法、装置、电子设备及可读介质
CN112286786A (zh) 数据库的测试方法、装置和服务器
Marchese et al. Formal fault propagation analysis that scales to modern automotive SoCs
CN114925639A (zh) 一种soc芯片仿真验证数据一致性的检测方法
US10437710B2 (en) Code coverage testing utilizing test-to-file maps
CN110198249B (zh) 一种配电自动化系统测试方法及系统
CN111475400A (zh) 一种业务平台的验证方法及相关设备
CN111858136A (zh) 固态硬盘异常数据检测方法、系统、电子设备及存储介质
CN111198798A (zh) 服务稳定性的测量方法及装置
CN110928765A (zh) 一种链路测试方法及装置
CN113127324B (zh) 测试报告自动化生成方法、装置、计算机设备及存储介质
CN116909800B (zh) 崩溃信息的定位方法、崩溃信息的定位装置及存储介质
CN114253846B (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
WO2017013783A1 (ja) 論理回路の検証方法
CN114090357A (zh) 一种硬盘性能测试方法、装置、电子设备及存储介质
CN114328195A (zh) 一种快速统计接口缺陷率、估算开发质量的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant