CN107562613B - 程序测试方法、装置及系统 - Google Patents
程序测试方法、装置及系统 Download PDFInfo
- Publication number
- CN107562613B CN107562613B CN201610511915.8A CN201610511915A CN107562613B CN 107562613 B CN107562613 B CN 107562613B CN 201610511915 A CN201610511915 A CN 201610511915A CN 107562613 B CN107562613 B CN 107562613B
- Authority
- CN
- China
- Prior art keywords
- test item
- page
- commodity
- program
- scene
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种程序测试方法、装置及系统。所述方法包括:接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项;从日志文件中获取所述场景标识对应的至少一个用户浏览记录;根据所述至少一个用户浏览记录分别生成页面访问请求;分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果;反馈所述程序代码执行后得到的所述至少一个测试项的结果。本申请实施方式的程序测试方法可以实现对待测试的程序代码在上线前是否符合对应的运用场景进行测试。
Description
技术领域
本申请涉及信息技术处理领域,尤其涉及一种程序测试方法、装置及系统。
背景技术
互联网技术的快速发展,在为用户提供他们需要的信息的同时,信息过载现象也愈发明显。用户面对海量的信息可能很难获取到自己真正感兴趣的内容,而内容提供商也很难将较优质的内容推送给感兴趣的用户。推荐算法引擎被认为是解决这一问题的一种有效的方法,其可以综合用户的历史行为和属性,挖掘用户的喜好和需求,主动向用户推荐其可能感兴趣或者需要的内容。因此,推荐算法引擎在各个领域已经得到了广泛的应用。以推荐算法引擎在电子商务平台的站内推荐为例说明。推荐算法引擎可以以站内推荐位为体现形式,在推荐位上展示推荐算法引擎推荐的商品。推荐算法引擎推荐的商品可以与用户当前浏览的商品的属性相同(例如都是鞋子),和/或,与用户当前浏览的商品来自于同一个卖家店铺。
目前,对推荐算法引擎的评估,通常是在推荐算法引擎上线后,通过其推荐内容的点击率来指示推荐效果。如果程序的推荐算法存在一些问题,可能导致在实际运行过程中出现一些问题。在各个不同的领域中,还可以包括其他较有针对性的参数指标对推荐效果进行评估。例如,推荐算法引擎在电子商务平台的站内推荐上应用时,可以通过对推荐内容的点击率、点击转化率、客单价等参数指标指示推荐效果。而对推荐算法引擎上线前,推荐算法引擎推荐的内容是否符合对应的运用场景缺乏相应的测试。如此,可能在推荐算法引擎上线后,其推荐的内容无法满足用户的需求。例如,电子商务平台的站内推荐要求推荐算法引擎推荐是与用户当前浏览的商品同店铺同类目的商品。而实际中,推荐算法引擎推荐的商品可能会出现异店铺和/或异类目的商品。如此,通过该推荐算法引擎,可能将浏览当前商品网页的买家用户引导至别家店铺,导致当前商品的卖家店铺访问流量损失。更有甚者,推荐算法引擎可能会基于用户在其他网站上的历史浏览行为,向其推荐较为敏感的商品,从而降低了用户的购物体验。例如,用户曾经通过浏览网页学习参加葬礼时应该注意的礼仪。之后,当该用户通过某一电子商务平台网购时,推荐算法引擎可以基于该用户先前的浏览行为,向其推荐骨灰盒、寿衣、花圈等商品,从而可能造成用户的不适。
发明内容
本申请实施方式的目的是提供一种程序测试方法、装置及系统,以在程序上线前测试其是否符合相应的运用场景。
为实现上述目的,本申请实施方式提供了一种程序测试方法,其包括:接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项;从日志文件中获取所述场景标识对应的至少一个用户浏览记录;根据所述至少一个用户浏览记录分别生成页面访问请求;分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果;反馈所述程序代码执行后得到的所述至少一个测试项的结果。
为实现上述目的,本申请实施方式还提供了一种程序测试装置,其包括:接收模块,用于接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项;获取模块,用于从日志文件中获取所述场景标识对应的至少一个用户浏览记录;生成模块,用于根据所述至少一个用户浏览记录分别生成页面访问请求;执行模块,用于分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果;反馈模块,用于反馈所述程序代码执行后得到的所述至少一个测试项的结果。
为实现上述目的,本申请实施方式还提供了一种程序测试系统,其包括:通信端子,其能进行网络数据通信;存储器,其存储有待测试的程序代码;处理器,其通过所述通信端子接收到指定的场景标识和至少一个测试项,其中,所述场景标识唯一标识一个页面功能项;从日志文件中获取所述场景标识对应的至少一个用户浏览记录;根据所述至少一个用户浏览记录分别生成页面访问请求;分别针对所述页面访问请求执行所述存储器存储的所述待测试的程序代码,得出所述至少一个测试项的结果;控制所述通信端子反馈所述程序代码执行后得到的所述至少一个测试项的结果。
由以上本申请实施方式提供的技术方案可见,本申请通过接收指定的场景标识,从日志文件中获取场景标识对应的至少一个用户浏览记录,并对该获取得到的至少一个用户浏览记录生成的页面访问请求执行待测试的程序代码,得出测试项的结果。如此,待测试的程序代码的请求数据来源于日志文件,从而依据得出的测试项的结果,可以在上线前对待测试的程序代码是否符合运用场景进行判断。如此,可以减省待测试的程序代码上线后,通过其他指标对该算法程序进行评估所所耗费的成本。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一个实施方式的程序测试方法的流程图;
图2为本申请一个实施方式的程序测试装置的模块图;
图3为本申请一个实施方式的程序测试系统的模块图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施方式,都属于本申请保护的范围。
请参阅图1。本申请一个实施方式提供了一种程序测试方法,所述方法包括以下步骤。
步骤S11:接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项。
在本实施方式中,可以由程序测试系统接收指定的场景标识和至少一个测试项。所述程序测试系统可以执行待测试的程序代码,并可以为该待测试的程序代码的运行提供硬件支持。具体的,举例为,所述程序测试系统可以为服务器和/或终端设备。当程序测试系统为服务器时,其可以接收用户使用终端设备发来的场景标识和至少一个测试项。当程序测试系统为终端设备时,其可以提供用户输入界面。程序测试系统可以接收用户在该界面中输入的场景标识和至少一个测试项。所述程序测试系统还可以包括服务器和终端设备,其中服务器用于接收终端设备发来的场景标识和至少一个测试项,服务器可以将测试结果发送给终端设备,终端设备可以在其显示器上将测试结果进行展示。所述程序测试系统可以根据场景标识和至少一个测试项,执行相应的程序代码,得出对应的测试项的结果。
在本实施方式中,所述页面功能项可以展示在网络页面中的预定位置,其能够在用户通过客户端访问该网络页面时,为用户与客户端之间提供进一步的交互功能。通过所述页面功能项,用户可以相对快捷的访问另一个网络页面,或者,可以使用户能够方便的获取相关的信息。具体的,举例为,所述页面功能项可以为商品推荐模块。当在客户端展示电子商务平台提供的商品网页时,商品网页的边侧可以显示商品推荐模块推荐的商品。用户可以点击该模块推荐的商品,进入相应的商品销售及详情介绍网络页面。从而,通过该页面功能项,可以为用户提供与当前访问的商品页面的商品相同或相似的商品,为用户提供更多的选择。
或者,所述页面功能项可以为评价索引模块。当在客户端展示电子商务平台提供的商品网页时,商品网页中可以显示商品评价信息。评价索引模块可以汇总所有商品评价信息中较常出现的评价语以形成相应的索引条目。例如较常见的索引条目可以包括“物流快”、“性价比高”、“服务好”、“质量一般”等。用户可以通过点击评价索引模块中的任意一个索引条目,获取所有包括该索引条目的用户评价信息,从而可以为用户通过其他买家的评价信息来进一步了解当前商品提供了方便。
在本实施方式中,所述场景标识可以具有预定的内容,例如其可以为预定长度的数字或字母字符串,或者为数字和字母组成的字符串。其能够唯一标识一个页面功能项。此外,用于标识页面功能项的场景标识可以不随页面功能项所在页面的内容不同而变化,只要页面功能项能够为用户提供的功能相同,场景标识即可以是相同的。例如,页面功能项为商品推荐模块,在一个鞋子的网购页面中,该页面功能项可以为用户推荐的商品是鞋子;在另一个自行车的网购页面中,该页面功能项可以为用户推荐的商品是自行车。两个网购页面的内容不同,但是这两个页面的页面功能项都是能够为用户推荐商品,因此,该两个页面的页面功能项的场景标识可以是相同的。当然,本申请并不限于每个页面中具有相同页面功能的页面功能项具有相同的场景标识,其还可以为在不同页面中设置的页面功能项具有不同的场景标识。例如,具体的在购物页面的页面功能项“猜你喜欢”与物流页面的页面功能项“猜你喜欢”可能会具有不同的场景标识。
在本实施方式中,程序测试系统可以接收至少一个测试项,当执行待测试程序代码时,可以得到该至少一个测试项的结果。具体的,举例为,所述测试项可以包括是否有推荐内容和推荐内容不为空比率中的至少一个。例如,当所述页面功能项为商品推荐模块,可以测试是否有相应的商品推荐结果,或者有商品推荐结果的数量占总测试次数的比例。
步骤S13:从日志文件中获取所述场景标识对应的至少一个用户浏览记录。
在本实施方式中,所述日志文件可以用于记录网络页面发生用户访问事件时的相关数据和信息。通常,日志文件至少可以记载网络页面发生访问事件的日期、时间、用户客户端的IP地址等。当该网络页面发生用户登录事件时,日志文件还可以记录用户的身份信息例如用户名等。进一步的,日志文件还可以记录对网络页面内容进行标识的相关信息。例如,当用户访问的网络页面为某商品的网购页面,日志文件中可以记录有商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid等。
通常,网络页面可以发生多次用户访问事件。日志文件可以将网络页面发生的每一次用户访问事件的产生的上述信息记录在其中,并将网络页面发生一次用户访问事件所包括的完整的信息作为一次用户浏览记录。例如,商品的网购页面的一次用户浏览记录可以包括访问事件发生的日期、时间、客户端IP地址、用户名、商品标识、商品分类标识以及商品卖家身份信息等。
在本实施方式中,所述场景标识可以作为用户浏览记录的一部分被记录在日志文件中。当用户访问具有某个页面功能项的网络页面时,日志文件可以将该页面功能项的场景标识记录在其中,并与上述所列其他记录在日志文件中的数据或信息一起形成一个用户浏览记录。如此,根据接收到的场景标识,可以在确定日志文件中查询获取到包括该场景标识的用户浏览记录。由上述可知,一个场景标识可以对应有具有相应页面功能项的多个网络页面,且该具有同一种页面功能项的多个网络页面可以发生多次用户访问事件。因此,根据所述场景标识,可以从日志文件中至少能够获取一个与之对应的用户浏览记录。
步骤S15:根据所述至少一个用户浏览记录分别生成页面访问请求。
在本实施方式中,所述页面访问请求可以是一个具有预设格式的字符串。具体的,例如所述页面访问请求可以是符合Http、TCP/IP协议格式要求的页面网络访问地址。通过该页面网络访问地址,可以访问相应的网络页面。
在本实施方式中,获取的至少一个用户记录中可以包括用于生成所述页面访问请求的相关数据,将这些数据按照预定的规则可以生成所述页面访问请求。具体的,举例为,所述至少一个用户浏览记录中包括的用于生成页面访问请求的一组数据可以有商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid,可以将该用户浏览记录中包括的上述数据以及其他参数例如可以包括主站名称、资源类型信息、资源名称以及资源属性信息等按照一定的顺序组合生成符合Http、TCP/IP等通信协议的页面网络访问地址,例如可以为http://tuipre.taobao.com/sellerid=870789787&categoryid=50006846&itemid=43663425577。该页面网络访问地址即可以为所述页面访问请求。
由上述可知,根据场景标识获取的用户浏览记录可以有多个,则可以根据该多个用户浏览记录中的包括的数据,生成对应的页面访问请求也可以有多个。此外,根据该多个页面访问请求可以访问的网络页面的内容可以不同,例如,多个页面访问请求访问的页面可以为多种不同种类的商品的销售及详情介绍网页。
步骤S17:分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果。
在本实施方式中,所述待测试的程序代码可以用于执行完成所述页面功能项指定的功能。例如,所述页面功能项为商品推荐模块,该页面功能项的程序代码可以为推荐算法程序。该推荐算法程序可以基于用户访问历史,向用户推荐他们可能感兴趣的商品。
在本实施方式中,页面访问请求中包括用户浏览记录中的数据,这些数据可以在一定程度上标识该页面访问请求对应的网络页面的内容。从而,针对页面访问请求执行待测试的程序代码,可以得出相应的推荐结果。具体的,举例为,页面访问请求中包括商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid。这些数据可以标识对应网购页面中的商品属性。当对该页面访问请求执行待测试的推荐算法程序时,推荐算法程序可以向用户推荐与上述商品的属性相同的商品。
由上述可知,生成的页面访问请求有多个,分别针对页面访问请求执行待测试的程序代码时,得出测试项的结果。具体的,举例为,所述测试项为是否有推荐内容,或推荐内容不为空占请求次数的比例。对多个页面访问请求执行待测试的程序代码,该多个页面访问请求可以均具有推荐内容,相应的,推荐内容不为空占请求次数的比例为100%。或多个页面访问请求中部分没有推荐内容,相应的,推荐内容不为空占请求次数的比例小于100%。
步骤S19:反馈所述程序代码执行后得到的所述至少一个测试项的结果。
在本实施方式中,反馈程序代码执行后得到的所述至少一个测试项的结果可以为,程序测试系统为服务器,其可以将得到的至少一个测试项的结果发送给配置有显示器的客户端显示,或者,程序测试系统本身为配置有显示器的终端设备,其可以将得到的至少一个测试项的结果显示在显示器上。
本申请实施方式的程序测试方法通过接收指定的场景标识,从日志文件中获取场景标识对应的至少一个用户浏览记录,并对该获取得到的至少一个用户浏览记录生成的页面访问请求执行待测试的程序代码,得出测试项的结果。如此,待测试的程序代码的请求数据来源于日志文件,从而依据得出的测试项的结果,可以在上线前对待测试的程序代码是否符合运用场景进行判断。如此,可以减省待测试的程序代码上线后,通过其他指标对该算法程序进行评估所所耗费的成本。
在一个具体的应用场景中,可以利用本申请的程序测试方法对推荐算法程序进行上线前的测试。该推荐算法的具体运用场景为向用户推荐同店铺、同类目的商品,对应的测试项可以为有无推荐的商品,推荐的是同店铺商品的占比以及推荐的同类目的商品的占比。程序测试系统接收该场景的标识,例如为数字字符串,进而可以从日志文件中获取该场景标识对应的至少一个用户浏览记录,该至少一个用户浏览记录中可以包括商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid,并根据该至少一个用户浏览记录生成页面访问请求,分别针对生成的页面访问请求执行待测试的推荐算法程序。由于页面访问请求中包括有商品的标识,商品的分类标识以及商品的卖家身份信息等,基于此,该待测试的推荐算法程序可以向用户推荐同店铺、同类目的商品。但该推荐算法程序向用户推荐的商品也可能包括异店铺和/或异类目的商品。如此,根据测试项的结果,可以为该推荐算法程序是否应该上线提供参考。由上可见,待测试的推荐算法程序的请求数据来源于日志文件,从而依据得出的测试项的结果,可以在上线前对待测试的程序代码是否符合运用场景进行判断。如此,可以减省该推荐算法上线后,通过其他指标对该算法程序进行评估所所耗费的成本。
在一个实施方式中,所述页面功能项可以为商品推荐模块。在接收至少一个测试项的步骤中,所述测试项还可以包括如下的至少之一:商品推荐位的占用比率;推荐的商品是否重复;推荐的商品是否为同店商品;推荐的商品是否为同类目商品;推荐的商品是否按照预设规则排序;推荐的商品是否有敏感类商品。
在本实施方式中,页面功能项可以为商品推荐模块。当在客户端展示电子商务平台提供的商品网页时,商品网页的边侧可以显示商品推荐模块推荐的商品。用户可以点击该模块推荐的商品,进入相应的商品销售及详情介绍网络页面。从而,通过该页面功能项,可以为用户提供更多的与当前访问的商品页面的商品相同或相似的商品,为用户提供更多的选择。
商品推荐模块可以提供有预定数量的推荐位,通过对页面访问请求执行推荐算法程序,可以在该预定数量的推荐位上显示推荐算法程序执行推荐的商品。推荐的商品的数量一般不大于推荐位的数量,推荐的商品的数量与推荐位的数量的比值即可以为所述商品推荐位的占用比率。
在本实施方式中,所述推荐的商品是否按照预设规则排序可以为,推荐的商品按照价格、销量排序。所述推荐的商品是否有敏感类商品可以为,可能会引起用户不适的商品,举例为骨灰盒、寿衣、花圈等商品。
本实施方式通过接收其他测试项,可以得到相应的测试项的结果,这样,可以较全面的测试推荐算法程序针对不同测试项的执行情况。
在一个实施方式中,所述页面功能项为评价索引模块。在接收至少一个测试项的步骤中,所述测试项还包括以下之一:索引条目是否重复、索引条目数据是否准确。
在本实施方式中,页面功能项可以为评价索引模块。当在客户端展示电子商务平台提供的商品网页时,商品网页中可以显示商品评价信息。评价索引模块可以汇总所有商品评价信息中较常出现的评价语以形成相应的索引条目。例如较常见的索引条目可以包括“物流快”、“性价比高”、“服务好”、“质量一般”等。用户可以通过点击评价索引模块中的任意一个索引条目,获取所有包括该索引条目的用户评价信息,从而可以为用户通过其他买家的评价信息来进一步了解当前商品提供了方便。
在本实施方式中,索引条目是否重复可以为索引条目包含的文字是否完全相同,例如检测是否有两个“物流快”的索引条目。还可以为索引条目中包含的文字的语义信息相同,例如一个索引条目为“性价比高”,另一个索引条目为“物美价廉”,则该两个索引条目可以认为是重复的索引条目。
在本实施方式中,索引条目数据是否准确可以为,根据索引条目确定的商品评价信息是否与索引条目数据相对应,或根据索引条目确定的商品评价信息中,是否包括有与该索引条目的语义相悖的评价语。例如,索引条目为“质量一般”,但根据该索引条目确定的商品评价信息中却包括有“质量很好”。如此,可认为该“质量一般”的索引条目数据不够准确。
在一个实施方式中,测试项可以包括以下之一:预设参数存在占比、预设参数异常占比。在接收指定的场景标识和至少一个测试项的步骤中,还可以包括接收至少一个预设参数名称。
在本实施方式中,所述预设参数可以用于描述可能被待测试的程序代码所推荐的内容的属性。例如,待测试的程序代码为商品推荐算法程序,对多个页面访问请求执行该推荐算法程序,至少一个页面访问请求的推荐商品中可以包括描述该商品属性的参数,例如可以包括商品的名称、价格、促销价、销售量、月销售量等。这些用于描述商品属性的参数即可以为所述预设参数。相应的,在接收指定的场景标识和至少一个测试项的步骤中,还可以包括接收至少一个预设参数名称。例如,商品的名称参数可以为name、价格参数可以为price、促销价参数可以为promotion price、销售量参数可以为sell Count、月销售量参数可以为month Sell Count。
在本实施方式中,预设参数存在占比可以为包括有预设参数的推荐结果的数量与请求次数的比例。相应的,预设参数异常占比可以为不包括预设参数的推荐结果的数量与请求次数的比例。例如,测试项包括价格参数存在占比,请求次数为1000,测试结果中包括该测试项的结果的数量为200,则该参数存在占比可以为20%。
在一个实施方式中,在接收指定的场景标识和至少一个测试项的步骤中,还可以包括接收指定的场景类型,所述场景类型用于区分日志文件。其中,不同的场景类型对应的日志文件来源于不同的业务服务器。
在本实施方式中,场景类型可以用于区分日志文件,且不同的场景类型对应的日志文件可以来源于不同的业务服务器。具体的,举例为,场景类型可以包括淘宝系类型场景、天猫系类型场景。两种场景类型分别对应的日志文件可以分别来自淘宝服务器和天猫服务器。如此,当接收场景标识时,可以根据接收到的场景类型,从对应的业务服务器中获取日志文件,进而可以使从该日志文件中获取到用于生成页面访问请求的用户浏览记录具有针对性。例如,在接收淘宝网购页面中商品推荐模块的场景标识时,还可以接收场景类型为淘宝系类型场景。根据该场景类型,程序测试设备可以获取淘宝服务器中的日志文件,而不会获取其他业务服务器中的日志文件。如此,可以根据用户在淘宝网中的浏览记录生成的页面访问请求,用于生成的请求的用户浏览记录具有针对性。
在一个实施方式中,在反馈测试项的结果的步骤中,还可以包括反馈程序执行状态、执行时间、生成的页面访问请求中的至少一个。
在本实施方式中,所述程序执行状态可以用于显示待测试的程序代码执行进度,可以通过文字和/或图片对程序执行状态进行描述。例如,所述程序执行状态可以包括“执行中”、“以完成”、“失败”等。执行时间可以为待测试的程序代码执行开始时间,并进一步可以包括程序完成执行的时间。
本实施方式在反馈测试项的结果时,还可以将程序执行状态、执行时间、生成的页面访问请求中的至少一个进行反馈,从而可以使用户较全面的获得待测试的程序代码在执行过程中的各种信息,实现对执行状态的把控。
在一个实施方式中,在反馈测试项的结果的步骤中,还可以包括对应所述测试项反馈运行异常的页面访问请求。
在本实施方式中,页面访问请求运行异常可以为对该页面访问请求指向程序代码时,该页面访问请求未有相应的推荐内容,或推荐的内容有误。具体的,举例为,对1000个页面访问请求执行商品推荐算法程序,其中一个页面访问未有推荐的商品,则该页面访问请求即可以为运行异常的页面访问请求。在反馈测试项的结果时,可以将该页面访问请求一并进行反馈,从而可以使用户具体得知该运行异常的页面访问请求,并可以使用户根据该页面访问请求访问对应的页面,在对应的页面上对是否有推荐内容,以及推荐内容是否有误进行确定。
通常,对执行待测试的程序代码的页面访问请求的数量越多,得到的测试项的结果的参考意义也相对越大。具体的,举例为,执行商品推荐算法程序的页面访问请求只有一个,测试项为是否有推荐的商品。而即便最终得到的测试结果是该页面访问请求执行推荐算法程序后有相应的推荐商品,但由于执行算法程序的请求数量过少,该测试项的结果的实际参考价值有限。因此,通常应使生根据成的页面访问请求具有相当的数量。然而,执行程序代码的请求数量增多,程序执行时间也相对延长。因此,为权衡测试结果的可参考性以及程序代码执行时间,通常可以接收生成页面访问请求的指定数量,该指定数量可以实际情况进行设置,例如可以为1000。如此,可以较灵活的掌控请求数量,也可以通过对请求数量的控制,得到对应数量的测试结果,从而使测试结果的可参考性提升。
请参阅图2。本申请一个实施方式提供了一种程序测试装置100,所述装置100可以包括:接收模块11,获取模块13,生成模块15,执行模块17,反馈模块19。
所述接收模块11可以用于接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项。
在本实施方式中,可以由程序测试系统接收指定的场景标识和至少一个测试项。所述程序测试系统可以执行待测试的程序代码,并可以为该待测试的程序代码的运行提供硬件支持。具体的,举例为,所述程序测试系统可以为服务器和/或终端设备。当程序测试系统为服务器时,其可以接收用户使用终端设备发来的场景标识和至少一个测试项。当程序测试系统为终端设备时,其可以提供用户输入界面。程序测试系统可以接收用户在该界面中输入的场景标识和至少一个测试项。所述程序测试系统还可以包括服务器和终端设备,其中服务器用于接收终端设备发来的场景标识和至少一个测试项,服务器可以将测试结果发送给终端设备,终端设备可以在其显示器上将测试结果进行展示。所述程序测试系统可以根据场景标识和至少一个测试项,执行相应的程序代码,得出对应的测试项的结果。
在本实施方式中,所述页面功能项可以展示在网络页面中的预定位置,其能够在用户通过客户端访问该网络页面时,为用户与客户端之间提供进一步的交互功能。通过所述页面功能项,用户可以相对快捷的访问另一个网络页面,或者,可以使用户能够方便的获取相关的信息。具体的,举例为,所述页面功能项可以为商品推荐模块。当在客户端展示电子商务平台提供的商品网页时,商品网页的边侧可以显示商品推荐模块推荐的商品。用户可以点击该模块推荐的商品,进入相应的商品销售及详情介绍网络页面。从而,通过该页面功能项,可以为用户提供与当前访问的商品页面的商品相同或相似的商品,为用户提供更多的选择。
或者,所述页面功能项可以为评价索引模块。当在客户端展示电子商务平台提供的商品网页时,商品网页中可以显示商品评价信息。评价索引模块可以汇总所有商品评价信息中较常出现的评价语以形成相应的索引条目。例如较常见的索引条目可以包括“物流快”、“性价比高”、“服务好”、“质量一般”等。用户可以通过点击评价索引模块中的任意一个索引条目,获取所有包括该索引条目的用户评价信息,从而可以为用户通过其他买家的评价信息来进一步了解当前商品提供了方便。
在本实施方式中,所述场景标识可以具有预定的内容,例如其可以为预定长度的数字或字母字符串,或者为数字和字母组成的字符串。其能够唯一标识一个页面功能项。此外,用于标识页面功能项的场景标识可以不随页面功能项所在页面的内容不同而变化,只要页面功能项能够为用户提供的功能相同,场景标识即可以是相同的。例如,页面功能项为商品推荐模块,在一个鞋子的网购页面中,该页面功能项可以为用户推荐的商品是鞋子;在另一个自行车的网购页面中,该页面功能项可以为用户推荐的商品是自行车。两个网购页面的内容不同,但是这两个页面的页面功能项都是能够为用户推荐商品,因此,该两个页面的页面功能项的场景标识可以是相同的。当然,本申请并不限于每个页面中具有相同页面功能的页面功能项具有相同的场景标识,其还可以为在不同页面中设置的页面功能项具有不同的场景标识。例如,具体的在购物页面的页面功能项“猜你喜欢”与物流页面的页面功能项“猜你喜欢”可能会具有不同的场景标识。
在本实施方式中,程序测试系统可以接收至少一个测试项,当执行待测试程序代码时,可以得到该至少一个测试项的结果。具体的,举例为,所述测试项可以包括是否有推荐内容和推荐内容不为空比率中的至少一个。例如,当所述页面功能项为商品推荐模块,可以测试是否有相应的商品推荐结果,或者有商品推荐结果的数量占总测试次数的比例。
所述获取模块13可以用于从日志文件中获取所述场景标识对应的至少一个用户浏览记录。
在本实施方式中,所述日志文件可以用于记录网络页面发生用户访问事件时的相关数据和信息。通常,日志文件至少可以记载网络页面发生访问事件的日期、时间、用户客户端的IP地址等。当该网络页面发生用户登录事件时,日志文件还可以记录用户的身份信息例如用户名等。进一步的,日志文件还可以记录对网络页面内容进行标识的相关信息。例如,当用户访问的网络页面为某商品的网购页面,日志文件中可以记录有商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid等。
通常,网络页面可以发生多次用户访问事件。日志文件可以将网络页面发生的每一次用户访问事件的产生的上述信息记录在其中,并将网络页面发生一次用户访问事件所包括的完整的信息作为一次用户浏览记录。例如,商品的网购页面的一次用户浏览记录可以包括访问事件发生的日期、时间、客户端IP地址、用户名、商品标识、商品分类标识以及商品卖家身份信息等。
在本实施方式中,所述场景标识可以作为用户浏览记录的一部分被记录在日志文件中。当用户访问具有某个页面功能项的网络页面时,日志文件可以将该页面功能项的场景标识记录在其中,并与上述所列其他记录在日志文件中的数据或信息一起形成一个用户浏览记录。如此,根据接收到的场景标识,可以在确定日志文件中查询获取到包括该场景标识的用户浏览记录。由上述可知,一个场景标识可以对应有具有相应页面功能项的多个网络页面,且该具有同一种页面功能项的多个网络页面可以发生多次用户访问事件。因此,根据所述场景标识,可以从日志文件中至少能够获取一个与之对应的用户浏览记录。
所述生成模块15可以用于根据所述至少一个用户浏览记录分别生成页面访问请求。
在本实施方式中,所述页面访问请求可以是一个具有预设格式的字符串。具体的,例如所述页面访问请求可以是符合Http、TCP/IP协议格式要求的页面网络访问地址。通过该页面网络访问地址,可以访问相应的网络页面。
在本实施方式中,获取的至少一个用户记录中可以包括用于生成所述页面访问请求的相关数据,将这些数据按照预定的规则可以生成所述页面访问请求。具体的,举例为,所述至少一个用户浏览记录中包括的用于生成页面访问请求的一组数据可以有商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid,可以将该用户浏览记录中包括的上述数据以及其他参数例如可以包括主站名称、资源类型信息、资源名称以及资源属性信息等按照一定的顺序组合生成符合Http、TCP/IP等通信协议的页面网络访问地址,例如可以为http://tuipre.taobao.com/sellerid=870789787&categoryid=50006846&itemid=43663425577。该页面网络访问地址即可以为所述页面访问请求。
由上述可知,根据场景标识获取的用户浏览记录可以有多个,则可以根据该多个用户浏览记录中的包括的数据,生成对应的页面访问请求也可以有多个。此外,根据该多个页面访问请求可以访问的网络页面的内容可以不同,例如,多个页面访问请求访问的页面可以为多种不同种类的商品的销售及详情介绍网页。
所述执行模块17可以用于分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果。
在本实施方式中,所述待测试的程序代码可以用于执行完成所述页面功能项指定的功能。例如,所述页面功能项为商品推荐模块,该页面功能项的程序代码可以为推荐算法程序。该推荐算法程序可以基于用户访问历史,向用户推荐他们可能感兴趣的商品。
在本实施方式中,页面访问请求中包括用户浏览记录中的数据,这些数据可以在一定程度上标识该页面访问请求对应的网络页面的内容。从而,针对页面访问请求执行待测试的程序代码,可以得出相应的推荐结果。具体的,举例为,页面访问请求中包括商品的标识itemid,商品的分类标识categoryid以及该商品的卖家身份信息sellerid。这些数据可以标识对应网购页面中的商品属性。当对该页面访问请求执行待测试的推荐算法程序时,推荐算法程序可以向用户推荐与上述商品的属性相同的商品。
由上述可知,生成的页面访问请求有多个,分别针对页面访问请求执行待测试的程序代码时,得出测试项的结果。具体的,举例为,所述测试项为是否有推荐内容,或推荐内容不为空占请求次数的比例。对多个页面访问请求执行待测试的程序代码,该多个页面访问请求可以均具有推荐内容,相应的,推荐内容不为空占请求次数的比例为100%。或多个页面访问请求中部分没有推荐内容,相应的,推荐内容不为空占请求次数的比例小于100%。
步骤S19:反馈所述程序代码执行后得到的所述至少一个测试项的结果。
在本实施方式中,反馈程序代码执行后得到的所述至少一个测试项的结果可以为,程序测试系统为服务器,其可以将得到的至少一个测试项的结果发送给配置有显示器的客户端显示,或者,程序测试系统本身为配置有显示器的终端设备,其可以将得到的至少一个测试项的结果显示在显示器上。
本申请实施方式的程序测试系统通过接收指定的场景标识,从日志文件中获取场景标识对应的至少一个用户浏览记录,并对该获取得到的至少一个用户浏览记录执行待测试的程序代码,得出测试项的结果。如此,待测试的程序代码的请求数据来源于日志文件,从而依据得出的测试项的结果,可以在上线前对待测试的程序代码是否符合运用场景进行判断。如此,可以减省待测试的程序代码上线后,通过其他指标对该算法程序进行评估所所耗费的成本。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等。目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以较容易得到实现该逻辑方法流程的硬件电路。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
请参阅图3,本申请一个实施方式还提供了一种程序测试系统,所述系统包括通信端子21,存储器23和处理器25。
通信端子21能进行网络数据通信。具体的,通信端子21可以根据Http、TCP/IP等协议设计制造。如此,通信端子21可以依照Http、TCP/IP等协议进行网络数据通信。
存储器23其存储有待测试的程序代码。
处理器,其通过通信端子21接收到指定的场景标识和至少一个测试项,其中,场景标识唯一标识一个页面功能项;从日志文件中获取场景标识对应的至少一个用户浏览记录;根据至少一个用户浏览记录分别生成页面访问请求;分别针对页面访问请求执行存储器23存储的待测试的程序代码,得出至少一个测试项的结果;控制通信端子21反馈程序代码执行后得到的至少一个测试项的结果。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来。在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储、磁盒式磁带,磁带磁磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其它实施方式的不同之处。尤其,对于系统实施方式而言,由于其处理器执行的软件功能基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (11)
1.一种程序测试系统,其特征在于,所述系统包括:
通信端子,其能进行网络数据通信;
存储器,其存储有待测试的程序代码;
处理器,其通过所述通信端子接收到指定的场景标识和至少一个测试项,其中,所述场景标识唯一标识一个页面功能项;从日志文件中获取所述场景标识对应的至少一个用户浏览记录;根据所述至少一个用户浏览记录分别生成页面访问请求;分别针对所述页面访问请求执行所述存储器存储的所述待测试的程序代码,得出所述至少一个测试项的结果;控制所述通信端子反馈所述程序代码执行后得到的所述至少一个测试项的结果。
2.一种程序测试方法,其特征在于,其包括:
接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项;
从日志文件中获取所述场景标识对应的至少一个用户浏览记录;
根据所述至少一个用户浏览记录分别生成页面访问请求;
分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果;
反馈所述程序代码执行后得到的所述至少一个测试项的结果。
3.如权利要求2所述的方法,其特征在于,在接收至少一个测试项的步骤中,所述测试项至少包括以下之一:是否有推荐内容、推荐内容不为空比率。
4.如权利要求3所述的方法,其特征在于,所述页面功能项为商品推荐模块;在接收至少一个测试项的步骤中,所述测试项还包括如下的至少之一:
商品推荐位的占用比率;推荐的商品是否重复;推荐的商品是否为同店商品;推荐的商品是否为同类目商品;推荐的商品是否按照预设规则排序;推荐的商品是否有敏感类商品;其中,所述商品推荐位的占用比率为推荐的商品的数量与推荐位的数量的比值。
5.如权利要求3所述的方法,其特征在于,所述页面功能项为评价索引模块;在接收至少一个测试项的步骤中,所述测试项还包括以下之一:索引条目是否重复、索引条目数据是否准确。
6.如权利要求2所述的方法,其特征在于,测试项包括以下之一:预设参数存在占比、预设参数异常占比;
在接收指定的场景标识和至少一个测试项的步骤中,还包括接收至少一个预设参数名称。
7.如权利要求2所述的方法,其特征在于,在接收指定的场景标识和至少一个测试项的步骤中,还包括接收指定的场景类型,所述场景类型用于区分日志文件;其中,不同的场景类型对应的日志文件来源于不同的业务服务器。
8.如权利要求2所述的方法,其特征在于,在反馈测试项的结果的步骤中,还包括反馈程序执行状态、执行时间、生成的页面访问请求中的至少一个。
9.如权利要求2所述的方法,其特征在于,在反馈测试项的结果的步骤中,还包括对应所述测试项反馈运行异常的页面访问请求。
10.如权利要求2所述的方法,其特征在于,所述方法还包括:接收生成页面访问请求的指定数量。
11.一种程序测试装置,其特征在于,其包括:
接收模块,用于接收指定的场景标识和至少一个测试项;其中,所述场景标识唯一标识一个页面功能项;
获取模块,用于从日志文件中获取所述场景标识对应的至少一个用户浏览记录;
生成模块,用于根据所述至少一个用户浏览记录分别生成页面访问请求;
执行模块,用于分别针对所述页面访问请求执行待测试的程序代码,得出所述至少一个测试项的结果;
反馈模块,用于反馈所述程序代码执行后得到的所述至少一个测试项的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610511915.8A CN107562613B (zh) | 2016-06-30 | 2016-06-30 | 程序测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610511915.8A CN107562613B (zh) | 2016-06-30 | 2016-06-30 | 程序测试方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562613A CN107562613A (zh) | 2018-01-09 |
CN107562613B true CN107562613B (zh) | 2021-02-05 |
Family
ID=60969668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610511915.8A Active CN107562613B (zh) | 2016-06-30 | 2016-06-30 | 程序测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562613B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428189B (zh) * | 2018-02-27 | 2021-04-02 | 上海掌门科技有限公司 | 一种社交资源处理方法、设备以及可读介质 |
CN110837460B (zh) * | 2018-08-16 | 2023-07-14 | 阿里巴巴华南技术有限公司 | 页面评测方法、模型构建方法及设备 |
CN111723000A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN113495834B (zh) * | 2020-04-07 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 一种用户验收测试方法、设备及存储介质 |
CN111694753B (zh) * | 2020-07-30 | 2023-04-11 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111966428B (zh) * | 2020-08-21 | 2022-07-15 | 支付宝(杭州)信息技术有限公司 | 页面处理方法及装置、页面回溯方法及装置 |
CN112346989B (zh) * | 2020-11-26 | 2023-06-20 | 网易(杭州)网络有限公司 | 一种接口测试方法、装置、介质和计算设备 |
CN112905445A (zh) * | 2020-12-09 | 2021-06-04 | 江苏苏宁云计算有限公司 | 一种基于日志的测试方法、装置及计算机系统 |
CN114968741A (zh) * | 2022-05-27 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种基于场景平台化的性能测试方法、系统、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047528A1 (en) * | 2006-10-18 | 2011-02-24 | Iscopia Software Inc. | Software tool for writing software for online qualification management |
CN104572446A (zh) * | 2014-12-17 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 一种自动化测试方法及系统 |
CN105335278A (zh) * | 2014-06-16 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 测试方法及设备 |
-
2016
- 2016-06-30 CN CN201610511915.8A patent/CN107562613B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047528A1 (en) * | 2006-10-18 | 2011-02-24 | Iscopia Software Inc. | Software tool for writing software for online qualification management |
CN105335278A (zh) * | 2014-06-16 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 测试方法及设备 |
CN104572446A (zh) * | 2014-12-17 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 一种自动化测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107562613A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562613B (zh) | 程序测试方法、装置及系统 | |
CN109150641B (zh) | 一种数据采集、查询方法、装置、存储介质及处理器 | |
US10303728B2 (en) | Personalized landing pages | |
US8818788B1 (en) | System, method and computer program product for identifying words within collection of text applicable to specific sentiment | |
US8290823B1 (en) | Customers mention | |
US7720850B2 (en) | Self-uploaded indexing and data clustering method and apparatus | |
US9390168B1 (en) | Customer keyword-based item recommendations | |
US11783370B2 (en) | Graph-based compression of data records | |
CN111274516B (zh) | 页面展示方法、页面配置方法和装置 | |
US20240037545A1 (en) | Systems and methods for associating a user's shopping experiences across multiple channels | |
US10636076B2 (en) | Search result enhancement component for interest queues | |
US10497039B1 (en) | Techniques for dynamic variations of a search query | |
US20140067837A1 (en) | Identifying user-specific services that are associated with user-presented entities | |
US10417687B1 (en) | Generating modified query to identify similar items in a data store | |
WO2021181900A1 (ja) | ターゲットユーザ特徴抽出方法、ターゲットユーザ特徴抽出システム及びターゲットユーザ特徴抽出サーバ | |
CN108073609B (zh) | 一种页面显示方法和装置 | |
US10853872B1 (en) | Advanced item associations in an item universe | |
US10437818B2 (en) | Search result enhancement component for item documents | |
US11756107B1 (en) | Dynamic contextual navigation | |
US20140280119A1 (en) | Search results modification systems and related methods | |
US11488180B1 (en) | Incremental business event recording | |
US20210263988A1 (en) | Embedded Mobile Browser | |
KR102141484B1 (ko) | 소셜 네트워크 서비스를 이용한 개인 판매몰 자동 생성 방법 및 시스템 | |
WO2017160533A1 (en) | Search result enhancement component for interest queues | |
US10885534B1 (en) | Determining product demand |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |