该想的不该想到的方法~测试方法总结

网站测试方法

一、性能测试

性能测试可以检验网站响应速度、承受负载和压力的能力。

1)链接速度测试。用户链接到网站的速度根据上网方式的不同而不同,他们或者电话拔号,或者是宽带上网。

2)负载测试。负载测试是为了测试网站同在某一负载级别上的性能,以保证Web系统在需求范围内正常工作。

3)压力测试。负载测试应该安排在网站系统发布以后,在实际的网络环境中进行测试。

二、界面测试 

功能测试。Web应用程序中的功能测试主要是对页面的链接、按钮等页面元素功能是否正常工作的测试。

1、连接问题

链接是网站系统的一个重要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。

a、测试所链接的页面是否存在。

b、测试所有链接是否有按指示的那样确实链接到了该链接的页面。

c、保证不存在没有链接不到的页面。

d、链接测试还可以借助第三方软件自动进行。

2、按钮问题

按钮不工作/工作不正常、点击按钮产生JS error。

3、提示问题

缺少提示、提示信息错误/不合理、提示导致UI问题。      

4、Tooltip不显示:(图片)

图片的alt属性,只支持IE浏览器。如果想在各浏览器中都能正常显示,需要将alt改为title。       

5、Js 错误问题

JS Error目前只能在IE中显示出来,Firefox会屏蔽JS错误,所以看不到,当然通过插件Firefox中也能看到。JS错误和特点是在IE浏览器的左下角有一个黄色的感叹号,如果你访问的页面有这样的情况,就代表这个页面存在JS错误。双击左下角的黄色的感叹号,就能看出错的细节。 

6、数据库访问错误。

7、文档无法下载。

8、不同浏览器显示问题、不同版本浏览器显示问题、不同OS&Browser显示问题。

9、对齐问题、图片显示问题。

具体有以下问题:

1) 各个页面的样式风格是否统一;
2) 各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;
3) 各个页面的title是否正确;
4) 栏目名称、文章内容等处的文字是否正确,有无错别字或乱码;同一级别的字体、大小、颜色是否统一; 
5) 提示、警告或错误说明应清楚易懂,用词准确,摒弃模棱两可的字眼;
6) 切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致,文字是否窜行;
7) 父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示出窗体标题为宜;
8) 按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上放置很大的按钮;按钮的样式风格要统一;按钮之间的间距要一致;
9) 页面颜色是否统一;前景与背景色搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色;
10) 若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止;
11) 导航处是否按相应的栏目级别显示;导航文字是否在同一行显示;
12) 所有的图片是否都被正确装载,在不同的浏览器、分辨率下图片是否能正确显示(包括位置、大小);
13) 文章列表页,左侧的栏目是否与一级、二级栏目的名称、顺序一致;
14)  调整分辨率验证页面格式是否错位现象;
15) 鼠标移动到Flash焦点上特效是否实现,移出焦点特效是否消失;
16)  文字颜色与页面配色协调,不使用与背景色相近的颜色。
17)  每个非首页静态页面含图片字节不超过300K,全尺寸banner第一个场景控制在200k以内二个场景在300K,三个场景在400K以此类推
18)  同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
19) 超过一屏的内容,在底部应有go top按钮
20) 超过三屏的内容,应在头部设提纲,直接链接到文内锚点
21) 首页,各栏目一级页面之间互链,各栏目一级和本栏目二级页面之间互链
22) 导航的文字要简明扼要,字数限制在一行以内
23) 报表显示时应考虑数据显示宽度的自适应或自动换行。
24) 所有有数据展现的界面(如统计、查询、编辑录入、打印预览、打印等),必须使测试数据的记录数超过一屏/一页,以验证满屏/页时其窗体是否有横向、纵向滚动条或换页打(L)印,界面显示是否正常;
25) 如有多个系统展现同一数据源时,应保证其一致性;
26) 对于报表中的所有字段值都应该有明确的定义,对于无意义的字段值,不应该显示空,应显示“--”或“/”,表示该字段值无意义。
27) 对统计的数据应按用户习惯进行分类、排序。
28) 界面内容更新后系统应提供刷新功能。
29) 用户在退出系统后重新登陆时应考虑是否需要自动返回到上次退出系统时的界面;
30)  在多个业务功能组成的一个业务流程中,如果各个功能之间的执行顺序有一定的制约条件,应通过界面提示用户。
31)  用户提示信息应具有一定的指导性,在应用程序正在进行关键业务的处理时,应考虑在前台界面提示用户应用程序正在进行的处理,以及相应的处理过程,在处理结束后再提示用户处理完毕。
32)  在某些数据输入界面,如果要求输入的数据符合某项规则,应在输入界面提供相应的规则描述;当输入数据不符合规则时应提示用户是否继续。
33)  在对任何配置信息修改后,都应该在用户退出该界面时提示用户保存(如果用户没有主动保存的情况下);
34)  在对某些查询功能进行测试时,应考虑查询条件的设置的合理性以及查询结果的互补性。如某些后台处理时间不应该作为查询条件。
35)  界面测试时,应考虑某一界面上按钮先后使用的顺序问题,以免用户对此产生迷惑。例如只能在查询成功后显示执行按钮。
36)  界面测试时,应验证窗口与窗口之间、字段与字段之间的浏览顺序是否正确;
37)  在某些对数据进行处理的操作界面,应考虑用户可能对数据进行处理的频繁程度和工作量,考虑是否可以进行批量操作。
38)  界面测试时应验证所有窗体中的对象状态是否正常,是否符合相关的业务规则需要。
49)  应验证各种对象访问方法(Tab 健、鼠标移动和快捷键)是否可正常使用,并且在一个激活界面中快捷键无重复;
40)  界面测试不光要考虑合理的键盘输入,还应考虑是否可以通过鼠标拷贝粘贴输入。
41)  对于统计查询功能的查询结果应验证其是否只能通过界面上的查询或刷新按键人工触发,应避免其他形式的触发。
42)  对界面上的任何对象进行拖拉,然后进行查询、打印,应保证查询打印结果不变;
43)  确保数据精度显示的统一:如单价0元,应显示为0.00元;
44)  确保时间及日期显示格式的统一;
45)  确保相同含义属性/字段名的统一;
46)  对所有可能产生的提示信息界面内容和位置进行验证,确保所有的提示信息界面应居中。

三、兼容性测试

兼容性测试主要检验网站应用系统适应不同服务器平台和客户端浏览器的能力。其中包括平台测试、浏览器测试等。

四、安全测试
    1、在测试路径上出现:                                                            http://218.61.30.17:7001/dzgh/xwzx/khzl/2008/11/13/58127.html/2008/11/13/58127.html去掉,看是否能出现目录下文件;
    2、访问文件目录如果出现403错误,说明网页加以限制拒绝访问;
    3、访问文件目录如果出现SSH其他根目录路径,说明有漏洞缺陷;
    4、X-Scan-v3.2-cn工具对网站服务器扫描。可以对网站参透出开启的端口号,SSH弱口令,网站是否存在高风险;比如:在扫描参数中输入测试网站的地址,点击扫描。如果扫描出网站端口号高风险或SSH弱口令可以与开发人员沟通进行修改;
    5、测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
    6、Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
    7、为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
    8、当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
    9、服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
    10、网页加载速度测试可以采用HttpWatch软件等,可以知道那些内容影响网站整体速度。

网站应用系统的安全测试区域还要有以下内容。

1)网站用户的安全,包括用户名、密码、权限等。

2)网站应用系统是否有超时的限制。

3)是否写进日志文件,是否追踪。

4)测试加密是否正确,检查信息的完整性。

5)注意没有经过授权,就不能在服务器端放置和编辑脚本的问题。

五、表单测试

当用户填写数据向Web服务器提交信息时,就需要使用表单操作。

常见的表单操作有:用户注册、用户登陆、查询数据、数据排序、将商品放入购物车、修改网购商品数量、填写收货人地址通过支付宝、微信、网银支付等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器信息的正确性。

表单测试的主要方法有:边界值测试、等价类测试,以及异常类测试等。测试中要保证每种类型都有2个以上的典型数值的输入,以确保测试输入的全面性。

1、文本框测试常见验证点

输入正常的字母或数字,验证是否能正常工作。

输入已存在的用户名或电子邮件名称,验证是否有唯一性校验。

输入超长字符串,例如在“名称”框中输入超过允许边界个数的字符,假设多255个字符,尝试输入256个或以上字符,检查程序能否正确处理。

输入默认值,空白,空格,检查程序能否正确处理。

若只允许输入字母,尝试输入数字;反之;尝试输入字母,检查程序能否正确处理。

利用复制,粘贴等操作强制输入程序不允许的输入数据,检查程序能否正确处理。

输入特殊字符集,例如,NULL及\n等,检查程序能否正确处理。

输入中文、英文、数字、特殊字符(特别注意单引号和反斜杠)及这四类的混合输入,检查程序能否正确处理。

输入不符合格式的数据,检查程序是否正常校验,如:程序要求输入身份证号,你输入abc123,程序应该给出错误提示。

输入html语言的、、等,检查是否能原样正确显示。

输入全角、半角的英文、数字、特殊字符等,检查是否报错。

2、密码框测试常见验证点

密码输入或输入数据是否可见?密码的正确显示必须“******”。

3、日期填充域常见验证点

输入不符合格式的数据,检查程序是否正常校验,如:程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示。

无效日期处理,如:出生年月输入为2013/02/30,我们知道2月多是29天,检查程序是否出错。

出生日期填写为未来日期,比如3214/12/12,检查程序是否出错。

将结束日期设置在开始日期之前,检查是否有正常校验。 

4、电话号码填充或常见验证点

电话号码应该由一组数字组成,不能包含英文字母。

如果有分机号,中间用破折号分隔。 

5、邮政编码填充或常见验证点

国内的邮政编码都是数字。

英国的邮编是字母与数字的组合,当我们测试国外邮编时需要先查一下该国的邮编格式。

6、电子邮件填充或常见验证点

输入正确的电子邮件地址,需要能验证通过,并能收到相应的Email。

7、购物数量填充或常见验证点

在填写购物数量的地方,输入一个大值,查看钱数累计是否正确;

在填写购物数量的地方,输入一个负数,检查是否有正确的处理;

在填写购物数量的地方,输入一个数字0,检查是否有正确的处理;

在填写购物数量的地方,输入一个字母a,检查是否有正确的处理;

在填写购物数量的地方,输入一个特殊符号>,检查页面能否正确显示。

8、必填字段常见验证点

必填字段不输入任何内容,直接提交,检查是否有错误提示;

必填字段只输入空格,然后提交,检查是否有错误提示;

必填字段的提示是否统一。

9、单选按钮常见验证点

一组单选按钮不能同时选中,只能选中一个;

逐一执行每个单选按钮的功能。分别选择了“男”、“女”后,保存到数据库的数据应该相应的分别为“男”、“女”;

一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空。

10、复选框常见验证点

多个复选框可以被同时选中(全选);

多个复选框可以被部分选中(部分选);

多个复选框可以都不被选中(全不选);

逐一执行每个复选框的功能(选择保存后,查看保存结果是与所选择的一致)。 

11、大块文字区域常见验证点

输入数据超出大字符数,检查会出什么情况;

输入数据正好为大字符数,检查是否能正确保存;

不输入任何数据,检查是否能正确保存;

Firefox浏览器下,大块文字区域右下角一般都可以拖放,尝试用鼠标进行拖放,检查会不会导致界面很难看或滚动条消失。

12、下拉列表框常见验证点

条目内容正确,无重复条目,无遗失条目;

逐一执行列表框中每个条目的功能。 

13、排序常见验证点

选择正序排列后,再检查一下反序排序;

对文字的排序,检查是否按从A到Z的顺序;

对价格、数目等的排序,检查是否按数字大小顺序;

如果有分页,检查是否先排序再分页。       

14、分页测试常见验证点

当没有数据时,页、上一页、下一页、尾页标签全部置灰,不支持点击;

在页时,“页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;

翻页后,列表中的数据是否仍按照指定的顺序进行了排序;

各个分页标签是否在同一水平线上;

各个页面的分页标签样式是否一致;

分页的总页数及当前页数显示是否正确;

是否能正确跳转到指定的页数;

在分页处输入非数字的字符(英文、特殊字符等),输入0或超出总页数的数字,是否有友好提示信息;

是否支持回车键的监听。      

15、搜索框填充或常见验证

搜索按钮功能是否实现;

输入网站中存在的信息,能否正确搜索出结果;

输入键盘中所有特殊字符,是否报错;特别关注:_?'"# \ / -- < >;特殊字符;

系统是否支持键盘回车键、Tab键;

搜索出的结果页面是否与其他页面风格一致;

在输入域输入空格,点击搜索系统是否报错;

本站内搜索输入中不输入任何内容,是否搜索出的是全部信息或者给予提示信息;

精确查询还是模糊查询,如果是模糊查询输入:中%国,查询结果是不是都包含中国两个字的信息;

焦点放置搜索框中,搜索框默认内容是否自动被清空;

搜索输入是否实现回车键监听事件。      

16、用户登录常见验证点

用户名和密码都符合要求并且是正确的,检查是否能登录成功;

用户名和密码都不符合格式要求,检查是否能登录成功以及出错提示;

用户名符合要求,密码不符合要求,检查是否能登录成功以及出错提示;

密码符合要求,用户名不符合要求,检查是否能登录成功以及出错提示;

用户名或密码为空,检查是否能登录成功以及出错提示;

数据库中不存在的用户名,不存在的密码,检查是否能登录成功以及出错提示;

数据库中存在的用户名,错误的密码,检查是否能登录成功以及出错提示;

数据库中不存在的用户名,存在的密码,检查是否能登录成功以及出错提示;

输入的用户名或密码前存在空格,检查是否能登录成功以及出错提示;

按键盘上的回车键是否监听事件,能执行登录过程。          

因为计算机语言处理中对于字符型数据的都是用单引号或双引号引起,所以我们在测试时,可以有意识的填入单引号与双引号,提交后检查有没有异常。

因为网页测试中URL中参数的名与值的分隔符是问号和符号(?与&),所以我们在测试时,输入用户名时可以有意识的填入aa?a=b以及bb&name=zhangsan之类的字符,提交后检查有没有异常。

因为网页测试中URL参数中#,可以作为锚点分隔符也作为URL终止符,所以我们在测试时,比如输入注册密码时有意识的填入Au#2c8,注册成功后,试试这个密码能不能登录。

因为网页URL提交的数据的方式分为两种一种是GET,一种是POST,特别是GET方式数据提交时,为了防止数据被截断,都会对数据进行URL编码,不适当编码与解码会导致空格与加号解码后一致,所以输入注册密码时有意识的填入++++++,注册成功后,试试这个密码能不能登录。

因为Web网页通过HTML语言解析,所以在注册用户名,或姓名时,有意识的填入或,提交后检查有没有异常,登录后网页能不能正常显示这个名字。

17、转义字符处理常见验证点

测试在文本框中输入\n或\\,检查输出是不是同样的,如果和用户输入的不一样就是缺陷。

测试在文本框中输入为单引号或双引号,检查输出时是不是一样的,如果输出为\’或\”就是错误的。

18、多次快速提交

假设终客户的网络或机器速度比较慢,在点击注册或其他操作时,不小心多次提交了提交按钮,有没有适当的保护措施。如连续多次点击了同一个删除按钮,会不会出现系统抛错。    

19、页面刷新

页面刷新可以是用户主动点击刷新或按键盘上的F5,另一种就是程序控制的页面刷新,比如注册时提交照片,网页一般是刷新一下将我们提交的照片显示出来。

页面刷新经常导致用户提交的数据莫名丢失,是测试人员需要关注的测试点。       

20、浏览器前进/后退按钮

有些网页,当我们点击浏览器上的前进与后退按钮时就会出现系统抛错,或页面无法正常显示。所以在Web测试中点击浏览器上的前进与后退按钮并观察其行为也是测试人员需要关注的测试点。


规范化问题

包括软件规范和业务规范两大类,软件规范问题主要指操作过程中显而易见的错误或缺陷,非人性化设计、友好度较差等;业务规范问题主要指使用非标准或非惯例的业务术语、以及概念错位等。

软件规范问题

1、操作指示不明确

提示存在二意性、提示操作项 “忽略”、“取消”、“退出”等含义不明确。(轻度)

2、简单界面规范问题

①按钮图片丢失、按钮图片不配套、按钮大小排列不美观;(轻度)

②在引用数据窗口的下拉框中,没有根据实际数据来调整下拉框显示的%的大小和垂直滚动条,导致文本只显示了一部分;(一般)

③界面中存在色块;(轻度)

④菜单排列顺序有误;(轻度)

⑤窗体最小化以后在屏幕上找不到了,无法恢复原窗体;(轻度)

3、操作过程缺乏人性化考虑

①选项过于烦琐且不必要、设置不合适导致使用者遗漏、常规按钮排列顺序不一致(轻度)

②常用功能不支持键盘操作。(一般)

③单据处理中当由于存在空行时,提示用户输完其余内容,而没有自动删除空行。(一般)

4、帮助文件规范问题

①联机帮助字体、背景风格不统一;(细微)

②点击“”按钮打开帮助文件,没有直接定位到内容;(细微)

③内容定位错误;(轻度)

④帮助文件内部链接没有做全;(细微)

⑤文档内容排版错误;(一般)

⑥其他帮助错误。(轻度)

5、软件风格规范问题

①控件的切换顺序有误、DataWindow的切换顺序有误;

(视控件使用频繁程度设为(一般)(轻度)

②DataWindow内容的对齐方式不正确(数值右对齐、日期中对齐、文字左对齐);(细微)

③数值的EditMask(掩膜)设置有误、日期的EditMask(掩膜)设置有误、日期的默认格式非YYYY.MM.DD、默认日期存在1900.00.00现象或其他不合理的值(轻度)

④弹出窗口不在屏幕中间位置、退出系统缺少提示;(细微)

⑤重大操作(月结、恢复、修复等)缺少提示、重大操作没有自动弹出备份提示;(轻度)

⑥快捷按钮定义不准确、快捷字母或数字重复、工具栏快捷键定义错误(轻度),工具栏常用快捷键缺少;(细微)

⑦违反窗口录入标准(一般可录入内容为白底蓝字、不可录入内容为白底黑字或灰底)、主窗口关闭后未关闭下属窗口;(轻度)

⑧进入界面缺少焦点、焦点位置不合理、回车键切换焦点顺序错误、记录或条件选择不方便;(一般)

⑨窗口标题、版本号、版权标识、系统图片不统一;(细微)

⑩补丁、紧急放行版未加PN号;(细微)

⑾存在无明显用途或不必要的消息窗。(轻度)

 

(二)业务术语规范问题

概念偷换、业务名词混用、业务术语出现错别字、生造业务术语、同一功能指向使用不同术语、多个功能指向使用同一术语。(轻度)

1、操作提示用语不规范

缺少必要的提示、提示语句描述不规范、语序随意、叙述风格不统一、口语化、对操作的必然后果或可能产生的后果没有提示、提示有误。(轻度)

2、用例错误

引用业务规范错误、引用政策法律相关数据过时、引用相关公式错误、报表格式不符合业务规范或过时、报表或查询窗口中条目或款项设计不全导致信息失真或不可用。(严重)

3、默认设置不规范

数量或金额长度不符合日常应用、默认编码方案不可行或不科学、系统建表后自动插入的数据错误、各种默认的数据或编码体系彼此不统一。(一般)

 

常规录入错误

主要指数据录入、修改、保存、删除等常规操作过程中出现的各类弹出式出错信息,数据控制疏漏、数据编辑无效、设置无效等。

数据编辑无效

1、由于建表失败导致的无法设置现象。(严重)

2、各种设置完成后立即查询发现设置有不符现象。(一般)

3、数据编辑保存后,在其他相关功能中查询此数据,不符。(严重)

4、数据经过变动、保存后,在其他功能中查询,变动没有及时体现。(严重)

5、出现如“按!定位”等变量没有替换的错误、定位或搜索不可用。(一般)

出现Data Window Error

1、出现主键冲突导致的错误提示。(试图存入已存在的代码,数据库弹出提示未被程序接管。)(一般)

2、由于字段类型和赋值范围控制疏漏导致的Data. Window Error。(录入界面允许n+m位,字段实际宽度为n位,或由于数值掩膜设置出错导致数据库弹出错误提示未被程序接管。)(一般)

3、由于建表错误导致数据无法保存产生Data. Window Error。(严重)

4、在同一操作界面中反复进行修改、查询、删除等编辑操作使驻留内存的数据与数据库中的数据不对应导致的Data Window Error。(一般)

5、极限数据录入产生的Data Window Error。(一般)

6、其他操作出现的Data Window Error。(一般)

出现非法操作提示(WIN98)或应用程序错误提示(WIN2000)

1、报表或查询的条件录入中由于使用%、(、)等特殊符号产生的非法操作提示。(轻度)

2、对某一功能、某一组功能的常规操作出现非法操作提示。(严重)

3、对某几个功能的组合操作、或一个功能较复杂的应用出现非法操作提示。(一般)

 .NET错误

包含所有的Microsoft Visual Studio .NET 2003 Error、或表现为“第××行代码错误”的提示。此类提示在程序任何地方都可能出现。(普通操作就出现的(严重),复杂操作出现的(一般)

残留的编译信息未及时清除

主要是开发员在开发过程中方便观察程序运行状态而留下的一些提示窗口,表现形式往往是弹出一个或几个标注感叹号()、问号()的消息框。(一般)

出现WINDOWS 系统提示

比如:文件删除失败、内存不够、无法执行此项任务、Out of Memory等(严重)

系统停止响应

在没有并发操作的前提下出现程序停止响应状况、或者长时间停顿,需要点击Ctrl+Alt+Delete中止的现象 (海量数据恢复除外)。(严重)

非正常的失败或操作错误提示

1、操作过程中出现本不应该有的失败提示,如“数据库已被改乱,请到核算单位重新再建”、“数据保存失败”、“处理失败,请重试”等(严重)

2、提示与出错的实际原因牛头不对马嘴,实际是A错误,显示B提示。(一般)

流程错误

主要指程序运行过程中由于需求分析、功能设计中对产品功能缺少深入的考虑、或者在编码过程中的疏漏等原因,产生的逻辑控制错误或失败、数据控制错误等。

逻辑控制错误 

1、初始通过时没有自动检测初始化设置的核心内容、或者检测错误。(严重)

2、该禁止的操作流程未被禁止、不该禁止的操作流程被禁止。(严重)

3、对已使用的条款、或存在记录的类别可以作删除操作。(如删除有固定资产的部门、删除已有员工发薪的员工大类等)。(严重)

4、编码缺少必要的分级政策,直接导致后面流程取数及统计工作的正确性。(严重)

5、数据恢复前未强行关闭当前工作窗口。(严重)

6、初始化前事关流程走向的选项在初始化完成后仍旧可以改动。(严重)

7、流程环节设计不合理、不规范。(一般)

8、流程设计缺少重要的数据出口。

9、对应可能出现的流程中意外情况,缺少可行的解决办法。(如不支持作废、重开、冲红等)。(一般)

10、设计中对特定的流程及相应的单据缺乏检查、追踪及统计的功能。(一般)

11、单据的处理流程前后因果关联错误。(如修改、审核、删除、作废之间的关系)(严重)

12、公式设置出现闭环、或几个公式间出现互为因果的现象,而能够设置成功。(严重)

13、公式保存没有必要的合法性检查。(一般)

14、短期使用版未控制(严重)或控制时间过长(一般)、正版有时间限制(严重)

15、软件无法安装或安装失败。(严重)

数据控制错误

1、取上一环节数据出错。(严重)

2、下一环节取数后反填错误。未将所取的值记录下、未加上已取数的状态标志,出现统计出错、取数无限制、无法继续取剩余值等错误。(严重)

3、下一环单据变动后反填错误。如对于单据删除、作废、修改等变动,上一环节未同步变动。(严重)

4、公式设置出现闭环。(一般)

5、公式计算出错。(严重)

6、单据录入四舍五入错误。(严重)

7、上下流单据处理中四舍五入错误。(如订单开提货单、提货单开发票等一对一、一对多处理过程。)(严重)

 

报表和查询出错

1、报表取数错误。(严重)

2、对报表进行过滤、筛选等操作,出现数据错误。(一般)

3、报表分级汇总错误。(严重)

4、报表分类统计错误。(严重)

5、报表非数据元素显示错误。(如表头、制表日期、相关部门等)(一般)

6、项目属性修改导致统计错误。(比如业务员的部门转移、部门的调整、固定资产摊销部门的变化等统计条件变更导致计算错误。)(严重)

7、部分报表可以通过单击字段名排序,在此过程中出现的界面刷新错误、合计汇总错误等。   (一般)

8、表与表之间同种指标数据不统一。(由于统计口径不同导致。)(一般)

9、初始数据未计算到相关报表。(一般)

10、报表数据四舍五入错误。

①由单据(或其他数据录入界面)汇总计算而来。(一般)

②从其他报表取数或计算而来。(一般)

③报表自身元素计算而来。(严重)

11、对报表某一记录、元素深入查询出错。(比如在总表下查询明细表等,主要针对报表界面中的其他查询按钮)重)

 

打印及打印相关操作错误

在程序中,用到打印功能的相当多,由于许多打印用类库处理,因此错误有较大的相似性,打印相关操作主要涉及打印机设置、打印字体设置、宽度设置、纸张设置。打印包括打印预览、套打、分页打印、满页打印、普通打印等

打印相关操作出错。

1、打印机及打印纸设置有误。(一般)

2、打印页面参数设置无效。(轻度)

3、打印页面参数保存无效。(轻度)

4、打印格式选择无效。(一般)

5、套打格式设置无效。(一般)

6、打印效果转换输出无效。(轻度)

7、打印标题及表头、表尾设置无效或错误。(一般)

8、同样的内容在不同打印机上显示效果不同(指数据正确的前提下)(细微)

打印预览和打印问题

通常情况下,打印预览和打印的现象是一致的,如果非特殊指明的,下面的问题包含打印及预览两个方向。(所有打印必须在两种或两种以上打印机上通过测试。)

1、表头消失或错位。(轻度)

2、表格线不全。(细微)

3、信息打印表格出边界、打印内容有重叠效果。(一般)

4、打印标题与报表查看不一致。(轻度)

5、报表打印时其他信息与查看不一致。(轻度)

6、存在焦点时,打印效果异常。(比如选中区域为黑色、焦点不能预览或打印。)(细微) 

7、打印预览工具条和查看窗口操作后切换有问题。(如停止响应等)(细微)

8、查看窗口退出后,打印工具条仍然可以使用。(细微)

9、实际打印时跳行、走纸。(一般)

10、打印预览中能够编辑。(细微)

11、页码打印错误。(轻度)

12、打印实际效果与预览有差异。(细微)

13、满页打印错误。(一般)

14、鼠标拖拉报表列头使之调整宽度、或隐藏某列后预览及打印效果出错。(细微)

15、同样的内容在不同打印机上显示效果不同(指数据正确的前提下)(细微)

16、先预览后打印和直接打印数据或内容不同(严重)

 

接口及数据转移中的问题

1、各模块之间生成单据错误。(严重)

2、各模块之间可以重复取数、或放弃取数(取数失败)后不能再取(严重)

3、各模块交叉查询数据出错。(严重)

4、各模块之间传入传出、导入导出、汇入汇出错误。(数据传出与导入效果不同)(严重)

5、传出到第三方的数据格式不符合要求。(一般)

6、第三方数据导入不能完全接收、或接收错误。(严重)

7、切换网络服务器过程中产生的错误。(一般)    

8、不同数据库之间的数据查询失败或错误。(严重)

9、其他网络、数据库之间通讯失败。(一般)

 

权限及安全问题

1、匿名登录成功。(严重)

2、明码登录。(严重)

3、重大系统操作不强制重新登录。(如恢复数据完成、切换年度、年结完成等)(严重)

4、对不可逆的操作缺少安全性提示。(如改动资产月末计提)(一般)

5、没有遵循逐级授权的原则。(细微)

6、权限设置中存在互为因果的同级项目、存在逻辑错误。(一般)

7、某操作员没有某权限,但依然能够进行该种操作。(一般)

8、只有针对一部分对象的权限,但能够进行全部对象的操作。(如部门权限失效等)(轻度)

9、只有查询权的情况下,可以编辑成功。(一般)

10、没有某权限,但通过快捷菜单能够绕开。(轻度)

11、对权限进行多种组合,出现控制出错的现象。(轻度)

12、默认状态下权限设置不合理。(细微)

13、数据成批处理没有考虑到与权限设置存在冲突。(轻度)

14、缺少必要的权限。(严重)

15、备份出来的数据未经压缩或加密,利用计事本就可以打开文件查阅信息。(一般)

 

备份与恢复问题

1、极限宽度的数据备份恢复失败。(严重)

2、备份恢复数据比较,设置内容不正确。(严重)

3、备份恢复数据比较,存在记录丢失现象。(严重)

4、在各个数据库中,数据小数位长度不一。(严重)

5、数据库中原有数据的,恢复后部分数据未覆盖。(严重)

6、备份恢复过程中产生其他出错信息。(严重)

7、集中备份恢复与普通备份恢复结果不同。(严重)

8、大数据量备份恢复记录条数丢失。(严重)

 

 

 

 

并发问题

并发错误指两人或多人同时对同一流程、同一单据(或相关流程、相关单据)操作所引起的存取错误、系统停止响应等问题。(视相关单据和流程的重要性和并发操作的可能性划分问题严重程度)

1、多人同时录入同类单据,出现单据号重复现象或出错提示。

2、多人同时对同一张单据进行同一流程处理,出现数据控制失败现象或出错提示。

3、多人同时对同一单据作不同操作(如审核、修改、删除、作废等),出现控制失败或出错提示。

4、按上问题,继续查询此单据,出现错误提示。

7、在不同流程(不同单据)的同步处理中,由于操作涉及同一数据(表)导致的并发问题。

8、在不同模块的操作中,由于操作涉及同一数据(表)导致的并发问题。(如销售和库存同时调取存货结存数量)

 

web测试中容易忽略的问题

很多时候,基于需求的测试和针对web特有的浏览器兼容性测试、cookie失效的验证,对于测试人员并不陌生。但实际上,与浏览器相关的测试内容远不止这些。

举一个例子来说,很多时候我们都非常明确页面上的所有入口,并对这些入口设计了大量的用例,而浏览器的地址栏却常常会被我们忽略。实际上,url的输入意义远比我们意识中的重要,忽略了url的测试,很容易造成安全上的隐患。

再进一步的说,浏览器的前进、后退、刷新按钮同样是测试人员需要关注的点。前进、后退在用户登录、注销信息的测试中应用最为频繁。而刷新,往往容易被忽视,但其同样是bug的“温床”。在最近的一次测试中,我就遇到过在我删除某条记录系统提示删除成功后,点击“刷新”按钮,页面提示出错的情况。出现该现象的原因就在于页面试图去取已删除的内容,导致出现异常。其实这个问题应该隐藏了比较久的时间,但是却一直未被发现,足可见我们都忽视了“刷新”的测试。 

一、功能测试

测试用例是测试的核心,测试用例的设计是一种思维方式的体现,在用例的设计中,用的比较多的方法是边界值分析法和等价类划分法,下面主要从输入框,搜索功能,添加、修改功能,删除功能,注册、登录功能以及上传图片功能等11个方面进行总结说明。

1、输入框

输入框是测试中最容易出现bug的地方,所以在测试时,一定要多加注意。 

输入框

字符型输入框

字符种类

英文全角字符

英文半角字符

 

 

 

数字

 

 

 

汉字

 

 

 

空或空格

 

 

 

特殊字符“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符,特别要注意单引号和&符号。

 

 

 

禁止直接输入特殊字符时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存。

 

 

 

长度检查

最小长度-1

 

 

最小长度

 

 

 

最大长度

 

 

 

最大长度+1

 

 

 

输入超长字符:比如把整篇word文档copy过去

 

 

 

空格检查

输入的字符间有空格

 

 

字符前有空格

 

 

 

字符后有空格

 

 

 

字符前后都有空格

 

 

 

多行文本框输入

允许回车换行

 

 

保存后再显示能够保持输入时的格式

 

 

 

仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示

 

 

 

安全性检查

输入特殊字符串:null、NULL、 、javascript、、<html>、<td>等</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">输入脚本函数:<script>alter("abc")</script>、document.write("abc")、<b>hello</b></span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><strong><span style="color:rgb(68,68,68);">数值型输入框</span></strong></p></td> <td><p><span style="color:rgb(68,68,68);">边界值</span></p></td> <td><p><span style="color:rgb(68,68,68);">最小值-1</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">最小值</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">最大值</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">最大值+1</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">位数</span></p></td> <td><p><span style="color:rgb(68,68,68);">最小位数+1</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">最小位数</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">最大位数</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">最大位数+1</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">输入超长值</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">异常值、特殊值</span></p></td> <td><p><span style="color:rgb(68,68,68);">输入[空白(NULL)]、空格或‘“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">禁止直接输入特殊字符时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存。</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">word中的特殊功能,通过剪贴板拷贝到输入框:分页符,分节符,类似公式的上下标等</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">输入负整数、负小数、分数</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">输入字母或汉字</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">带符号的数值:带正号的正数,带负号的负数</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">小数:小数点前零舍去的情况,如.12;多个小数点的情况;0值:0.0,0.,.0</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">首位为零的数值:如01、02</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">科学技术法是否支持:如 1.0E2</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">全角数字和半角数字的情况</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">数字与字母的混合:16进制数值,8进制数值</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">货币型输入项:允许小数点后几位</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">安全性检查同上</span></p></td> <td><p><span style="color:rgb(68,68,68);">不能直接输入,就copy</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><strong><span style="color:rgb(68,68,68);">日期型</span></strong></p></td> <td><p><span style="color:rgb(68,68,68);">合法性检查</span></p></td> <td><p><span style="color:rgb(68,68,68);">日输入[0日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">日输入[1日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">日输入[32日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[1、3、5、7、8、10、12月]、日输入[31日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[4、6、9、11月]、日输入[30日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[4、6、9、11月]、日输入[31日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">输入非闰年,月输入[2月]、日输入[28日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">输入非闰年,月输入[2月]、日输入[29日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">(闰年)月输入[2月]、日输入[29日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">(闰年)月输入[2月]、日输入[30日]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[0月]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[1月]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[12月]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">月输入[13月]</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">异常值、特殊值</span></p></td> <td><p><span style="color:rgb(68,68,68);">输入[空白(NULL)]或“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> <tr> <td><p><span style="color:rgb(68,68,68);">安全性检查同上</span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> <td><p><span style="color:rgb(0,0,0);"> </span></p></td> </tr> </tbody> </table> <p> </p> <p><strong> 2、搜索功能</strong></p> <p><span style="font-family:'宋体';">(</span>1)比较长的名称是否能查到?</p> <p><span style="font-family:'宋体';">(</span>2)空格 或空。</p> <p><span style="font-family:'宋体';">(</span>3)名称中含有特殊字符,如:' $ % & *以及空格等。</p> <p><span style="font-family:'宋体';">(</span>4)关键词前面或后面有空格。</p> <p><span style="font-family:'宋体';">(</span>5)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到。</p> <p><span style="font-family:'宋体';">(</span>6)输入系统中不存在与之匹配的条件。</p> <p><span style="font-family:'宋体';">(</span>7)两个查询条件是否为2选1,来回选择是否出现页面错误。</p> <p><span style="font-family:'宋体';">(</span>8)输入脚本语言,如:<script>alter(“abc”)</script>等。 </p> <p><strong>3、添加、修改功能</strong></p> <p><span style="font-family:'宋体';">(</span>1)是否支持tab键。</p> <p><span style="font-family:'宋体';">(</span>2)是否支持enter键。</p> <p><span style="font-family:'宋体';">(</span>3)不符合要求的地方是否有错误提示。</p> <p><span style="font-family:'宋体';">(</span>4)保存后,是否也插入到数据库中?</p> <p><span style="font-family:'宋体';">(</span>5)字段唯一的,是否可以重复添加。</p> <p><span style="font-family:'宋体';">(</span>6)对编辑页列表中的每个编辑项进行修改,点击保存,是否保存成功?</p> <p><span style="font-family:'宋体';">(</span>7)对于必填项,修改为空、空格或其他特殊符号,是否可以编辑成功。</p> <p><span style="font-family:'宋体';">(</span>8)在输入框中,直接回车。</p> <p><span style="font-family:'宋体';">(</span>9)是否能够连续添加。</p> <p><span style="font-family:'宋体';">(</span>10)在编辑的时候,要注意编辑项的长度限制,有时,添加时有长度限制,但编辑时却没有(添加和修改规则是否一致)。</p> <p><span style="font-family:'宋体';">(</span>11)添加时,字段是唯一的,不允许重复,但有时,编辑时,却可以修改为相同字段(相同字段包括是否区分大小写以及在输入内容的前后输入空格)。</p> <p><span style="font-family:'宋体';">(</span>12)添加含有特殊符号或空格的内容。</p> <p><span style="font-family:'宋体';">(</span>13)对于有图片上传功能的编辑框,对于没有上传的图片,查看编辑页面时,是否显示默认图片,如果上传了图片,是否显示为上传图片? </p> <p><strong>4、删除功能</strong></p> <p><span style="font-family:'宋体';">(</span>1)输入正确数据前加空格,看是否能正确删除?</p> <p><span style="font-family:'宋体';">(</span>2)是否支持enter键。</p> <p><span style="font-family:'宋体';">(</span>3)是否能连续删除多个产品?当只有一条数据时,能否成功删除?</p> <p><span style="font-family:'宋体';">(</span>4)删除一条数据后,能否再添加相同的数据?</p> <p><span style="font-family:'宋体';">(</span>5)当提供能一次删除多条信息的功能时,注意,删除的数据是否正确?</p> <p><span style="font-family:'宋体';">(</span>6)不选择任何信息,直接点击删除按钮,看有什么错误提示?</p> <p><span style="font-family:'宋体';">(</span>7)删除某条信息时,应该有错误提示信息</p> <p><strong>5、注册、登录模块</strong></p> <p><span style="font-family:'宋体';">(</span>1)注册成功,但登录失败:注册时,密码设置为一些特殊符号,但登录时,失败。</p> <p><span style="font-family:'宋体';">(</span>2)注册时,连续点击提交按钮。</p> <p><span style="font-family:'宋体';">(</span>3)注册成功后,页面应该以登录状态跳转到首页。</p> <p><span style="font-family:'宋体';">(</span>3)登录时,没区分大小写,注册时,是小写字母,但登录时,用大写字母也能登录进去。</p> <p><span style="font-family:'宋体';">(</span>4)登录时,当页面刷新或重新输入新数据时,验证码是否也随之更新。</p> <p><span style="font-family:'宋体';">(</span>5)对密码的修改,当把密码修改为很长,或含有特殊符号时,能够修改成功,但却不能成功登录。</p> <p><strong>6、上传图片测试</strong></p> <p><span style="font-family:'宋体';">(</span>1)文件类型正确,文件大小合适。</p> <p><span style="font-family:'宋体';">(</span>2)文件类型正确,文件大小不合适。</p> <p><span style="font-family:'宋体';">(</span>3)文件类型错误,文件大小合适。</p> <p><span style="font-family:'宋体';">(</span>4)文件类型和大小都合适,上传一个正在使用中的图片。</p> <p><span style="font-family:'宋体';">(</span>5)文件类型和大小合适,手动输入一个存在的图片地址来上传。</p> <p><span style="font-family:'宋体';">(</span>6)文件类型和大小合适,手动输入一个不存在的图片地址上传。</p> <p><span style="font-family:'宋体';">(</span>7)文件类型和大小都合适,手动输入图片名称来上传。</p> <p><strong>7、返回键检查</strong></p> <p><span style="font-family:'宋体';">(</span>1)一条已经成功提交的记录,返回后再提交,看系统是否做了处理。</p> <p><span style="font-family:'宋体';">(</span>2)检查多次使用返回键的情况,在有返回键的地方,返回到原来页面重复多次,看是否会出错。</p> <p><strong>8、回车键检查</strong></p> <p>在输入结束后,直接按回车键,看系统处理如何,是否会报错。</p> <p><strong>9、刷新键检查</strong></p> <p><span style="font-family:'宋体';">在</span>web系统中,使用浏览器的刷新键,看系统处理如何,是否会报错。</p> <p><strong>10、直接URL链接检查</strong></p> <p><span style="font-family:'宋体';">在</span>web系统中,直接输入各功能页面的URL地址,看系统如何处理。</p> <p><strong>11、其他</strong></p> <p><span style="font-family:'宋体';">(</span>1)在测试时,有与网络有关的步骤必须考虑到断网的情况。</p> <p><span style="font-family:'宋体';">(</span>2)每个页面都有相应的页面title。</p> <p><span style="font-family:'宋体';">(</span>3)在测试的时候要尽量考虑在页面出现滚动条时(滚动条上下滚动下),页面显示是否正常。</p> <p><span style="font-family:'宋体';">(</span>4)URL不区分大小写。</p> <p><strong>12、测试中,并发情况的考虑</strong></p> <p>总结了以下两种情况:</p> <p><span style="font-family:'宋体';">(</span>1)某个字段是唯一的,当多个用户并发点击产生该字段时,检查系统是怎么处理的。</p> <p><span style="font-family:'宋体';">(</span>2)对于电子商务网站,当两个或多个用户并发购买量总和大于产品库存量时,能否购买成功。</p> <p>功能测试中还需注意以下几点内容:<br>(1)点击【收藏我们】,标题是否出现乱码;收藏的url与网站的url是否一致;能否通过收藏夹来访问网站;<br>(2)对于修改、删除等可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会;<br>(3)在文章详细页面,验证字体大小改变、打印、返回、关闭等功能是否实现;</p> <p> </p> <p><strong>公共测试用例</strong></p> <p><strong>一、界面测试公共测试用例</strong></p> <p>界面测试一般包括页面文字,控件使用,少图,CSS,颜色等。</p> <p><strong>1、文字</strong></p> <p><strong>内容一致性:</strong></p> <p>1)公司要求文字的一致性,例如各种宣传文字、注册的协议条款、版权信息等;</p> <p>2)各处相同含义文字的一致性,例如标题栏文字、页面主题文字、弹出窗口文字、菜单名称、功能键文字等。</p> <p><strong>样式一致性</strong></p> <p>1)(通常分类包括)各类文字字体、字号、样式、颜色、文字间距、对齐方式;</p> <p>2)按钮的文字间距,按钮长度一定前提下,2个字的按钮,需要中间空一格(或者其它约定,需要统一);</p> <p>3)链接文字,同一类,菜单、小标题、页角文字链接,在点击时颜色变化要相同;</p> <p>4)对齐方式,页面上文字的对齐,例如表单、菜单列、下拉列表中文字的对齐方式(左、右、居中等要统一)</p> <p><strong>语言习惯:</strong></p> <p>1)中文:文字简单,含义明确,无歧异,无重复,无别字,正确运用标点符号。</p> <p>2)英文。</p> <p>3)日文。</p> <p><strong>2、按钮</strong></p> <p>1)button的样式整体要统一,例如突出、扁平、3D效果等只能选其一;</p> <p>2)采用的图片表述相同功能,要采用单一图标。</p> <p><strong>3、文本框</strong></p> <p>1)录入长度限制,根据数据库的设计,页面直接限定录入长度(特殊处屏蔽复制、粘贴);</p> <p>2)文本框自身的长度限制,主要考虑页面样式。</p> <p><strong>4、单选框</strong></p> <p>1)默认情况要统一,已选择,还是未选。</p> <p><strong>5、日期控件</strong></p> <p>1)图标、控件颜色、样式统一;</p> <p>2)点击控件、文本框均应弹出日期选择框。</p> <p><strong>6、下拉选择框</strong></p> <p>1)默认是第一个选项,还是提示请选择一个。</p> <p><strong>7、提示信息</strong></p> <p>1)静态文字与它的提示信息一致性,例如静态文字为‘ID’,出错信息显示‘用户ID’;</p> <p>2)空值时,出错信息需要统一,例如可以采用“静态文字”+不能为空;</p> <p>3)出现录入错误时,例如可以统一采用“静态文字”+格式不符合要求;</p> <p>4)提示信息标点符号是否标识;点击上一步,返回的页面上不应残留出错信息;</p> <p>5)静态提示信息,在录入框右侧,应有录入信息的相应要求的提示文字,达到方便操作的目的;</p> <p>6)必输项提示信息,必输项提示信息采用统一的标志。</p> <p><strong>8、导航测试</strong></p> <p>死导航、乱导航、操作复杂等。</p> <p><strong>9、链接测试</strong></p> <p>链接测试主要分为以下几个方面:<br>1)页面是否有无法连接的内容;图片是否能正确显示,有无冗余图片,代码是否规范,页面是否存死链接(可以用HTML Link Validator工具查找);<br>2)图片上是否有无用的链接;点击图片上的链接是否跳转到正确的页面;<br>3)首页点击LOGO下的一级栏目或二级栏目名称,是否可进入相应的栏目;<br>4)点击首页或列表页的文章标题的链接,是否可进入相应的文章的详细页面;<br>5)点击首页栏目名称后的【更多】链接,是否正确跳转到相应页面;<br>6)文章列表页,左侧的栏目的链接,是否可正确跳转到相应的栏目页面;<br>7)导航链接的页面是否正确;是否可按栏目级别跳转到相应的页面;<br><span style="font-family:'宋体';">(例:【首页</span>->服务与支持->客服中心】,分别点击“首页”、“服务与支持”、“客服中心”,查看是否可跳转到相应页面;)<br>8) 新闻、信息类内容通常用新开窗口方式打开。<br>9) 顶部导航、底部导航通常采取在本页打开。</p> <p><strong>10、IE的后退</strong></p> <p>退出系统,无论直接关闭浏览器或点击后退键,退出都不应再返回系统。</p> <p><strong>11、分辨率</strong></p> <p>页面文字显示、样式等要支持常见分辨率,例如CRT显示器的1024*768,LCD的1280*1024。</p> <p><strong>12、重复提交问题</strong></p> <p>1)功能操作完成后,鼠标右键点击所在页面,选择弹出菜单的刷新功能,容易出现重复提交问题。</p> <p>2)功能操作完成后,通过IE的后退键进行重复操作,容易出现重复提交问题。</p> <p>3)某功能键反应时间延迟时(限制客户端网络带宽等方式来模拟实现),在短时间内重复点击该功能键,容易出现重复提交问题;</p> <p><strong>13、<span style="font-family:'宋体';">防止</span>SQL注入式攻击</strong></p> <p>1)不允许任何直接在jsp页面调用SQL语句,这种情况常发生在系统的后期修改中。</p> <p><strong>14、用户非授权页面访问</strong></p> <p>1)每个页面都需要安全验证,防止用户通过直接拷贝具体页面地址等方式,访问系统;</p> <p>2)页面过期的时间设定,用户在设定时间内未进行任何操作,不允许访问系统。</p> <p><strong>二、文本框公共测试用例</strong></p> <p><strong>1、文本框为字符型</strong></p> <p><strong>必填项非空校验:</strong></p> <p>1)必填项未输入--程序应提示错误;</p> <p>2)必填项只输入若干个空格,未输入其它字符--程序应提示错误;</p> <p>字段唯一性校验:(不是所有字段都作此项校验,视实际项目情况而定)</p> <p>1)新增时输入重复的字段值--必须提示友好信息;</p> <p>2)修改时输入重复的字段值--必须提示友好信息;</p> <p><strong>字段长度校验:</strong></p> <p>1)输入[最小字符数-1]--程序应提示错误;</p> <p>2)输入[最小字符数]--OK;</p> <p>3)输入[最小字符数+1]--OK;</p> <p>4)输入[最大字符数-1]--OK;</p> <p>5)输入[最大字符数]--OK;</p> <p>6)输入[最大字符数+1]--程序应提示错误;</p> <p><strong>字段为特殊字符校验:</strong></p> <p>1)输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好;</p> <p>2)中文、英文、空格,数字,字符,下划线、单引号等所有特殊字符的组合;</p> <p>3)所有特殊字符都必须进行测试(!~@#$^&*()_+{}|:“<>?/.,;‘[]\=-`¥……()--:《》?、。,;’【】、=-• )</p> <p><strong>字段为特殊代码校验:</strong></p> <p>1)输入html代码:比如”你好”;--必须以文本的形式将代码显示出来。</p> <p>2)输入JavaScript代码:比如;--必须以文本的形式将代码显示出来。</p> <p><strong>多行文本框输入:</strong></p> <p>1)是否允许回车换行;</p> <p>2)保存后再显示能够保持输入时的格式;</p> <p>3)仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示;</p> <p>4)仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示。</p> <p><strong>2、文本框为数值型</strong></p> <p><strong>边界值:</strong></p> <p>1)输入[最小值-1]--程序应提示错误;</p> <p>2)输入[最小值]--OK;</p> <p>3)输入[最大值]--OK;</p> <p>4)输入[最大值+1]--程序应提示错误;</p> <p><strong>位数:</strong></p> <p>1)输入[限制位数]--OK;</p> <p>2)输入[限制位数+1]--根据实际项目而定,是否自动四舍五入成限制位数,还是提示信息;</p> <p>3)输入[限制位数-1]--OK;</p> <p><strong>异常值、特殊值:</strong></p> <p>1)输入非数值型数据:汉字、字母、字符--程序应提示错误;</p> <p>2)输入负数--根据实际项目而定,如果不允许输入负数,必须提示友好信息;</p> <p>3)字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示;</p> <p>4)全角数字和半角数字的情况--全角数字不能保存,提示友好信息,半角数字正常保存;</p> <p>5)首位为零的数值:如01=1--视实际项目情况而定;</p> <p><strong>3、文本框为日期型</strong></p> <p><strong>合法性检查:</strong></p> <p>1)日输入[0日]--程序应提示错误; </p> <p>2)日输入[1日]--OK;</p> <p>3)日输入[32日]--程序应提示错误;</p> <p>4)月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;</p> <p>5)月输入[4、6、9、11月]、日输入[30日]--OK;</p> <p>6)月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;</p> <p>7)输入非闰年,月输入[2月]、日输入[28日],比如2009.2.28--OK;</p> <p>8)输入非闰年,月输入[2月]、日输入[29日],比如2009.2.29--程序应提示错误;</p> <p>9)(闰年)月输入[2月]、日输入[29日],比如2008.2.29--OK;</p> <p>10)(闰年)月输入[2月]、日输入[30日],比如2008.2.30--程序应提示错误;</p> <p>12)月输入[1月]--OK;</p> <p>13)月输入[12月]--OK;</p> <p>14)月输入[13月] --程序应提示错误;</p> <p><strong>格式检查:</strong></p> <p>1)不合法格式:2009-09、 2009-09 -、200-2-2;</p> <p>2)视具体项目而定是否合法:2009/09/01、2009.09.01 、20090901、2009-09-01 ;</p> <p><strong>异常值、特殊值:</strong></p> <p>1)输入汉字、字母、字符--程序应提示错误;</p> <p><!--[if !supportLists]-->4.     <!--[endif]-->文本框为时间型</p> <p><strong>合法性检查:</strong></p> <p>1)时输入[24时] --程序应提示错误; </p> <p>2)时输入[00时] --OK;</p> <p>3)分输入[60分] --程序应提示错误;</p> <p>4)分输入[59分] --OK;</p> <p>5)分输入[00分] --OK;</p> <p>6)秒输入[60秒] --程序应提示错误;</p> <p>7)秒输入[59秒] --OK;</p> <p>8)秒输入[00秒] --OK;</p> <p><strong>格式检查:</strong></p> <p>1)不合法格式:12:30:、 123000;</p> <p>2)视具体项目而定是否合法:12:30、 1:3:0;</p> <p><strong>异常值、特殊值:</strong></p> <p>1)输入汉字、字母、字符--程序应提示错误;</p> <p>2)系统中所涉及时间是否取服务器时间;</p> <p><strong>三、上传和导出公共测试用例</strong></p> <p><strong>1、上传图片</strong></p> <p>对于上传的文件,假设系统要求上传的文件为jpg或gif格式图片,大小为<=5M的文件,我们在设计测试用例时,应该从以下几个方面进行考虑:</p> <p>1)文件类型正确,文件大小合适的校验</p> <p>例如:上传一种jpg或gif的格式图片,文件大小为4.9M,结果为上传成功</p> <p>2)文件类型正确,文件大小合适的校验</p> <p>例如:上传一种jpg或gif的格式图片,文件大小为5M,结果为上传成功</p> <p>3)文件类型正确,文件大小不合适的校验</p> <p>例如:上传一种jpg或gif的格式图片,文件大小为5.1M,提示为:“上传的附件中大小不能超过5M”</p> <p>4)文件类型错误,文件大小合适的校验</p> <p>例如:上传.doc、.xls、ppt、bmp、jpeg、psd、tiff、tga、png、swf、svg、pcx、dxf、wmf、emf、lic、eps、.txt等格式文件,文件大小合适,提示“只能上传jpg或gif格式图片”</p> <p>5)文件类型和文件大小合法,上传一个0kb的图片,提示信息:“请重新上传文件,或者是不能上传0kb的图片”</p> <p>6)文件类型和文件大小合法,上传一个正在使用中的图片(即打开该图片,再上传该图片),上传成功</p> <p>7)文件类型和文件大小合法,手动输入一个存在的图片地址,点击上传,上传成功</p> <p>8)文件类型和文件大小合法,手动输入一个不存在的图片地址,点击上传,提示:“请正确选择要上传的文件”</p> <p>9)文件类型和大小都合法,手动输入一个存在的图片名称,点击上传,一般情况下系统会提示:“请正确选择要上传的文件的路径”</p> <p><strong>2、文件导出</strong></p> <p>1)验证导出文件名长度,根据具体情况而定</p> <p>2)验证导出文件为空的情况 </p> <p>3)验证导出文件名为特殊字符的情况</p> <p>4)验证导出全部资料的情况,导出的信息是否正确  </p> <p>5)验证导出部分资料的情况,导出的信息是否正确 </p> <p>6)验证导出大量数据时的时间是否在合理的时间范围内  </p> <p>7)验证导出目的磁盘空间已满的情况下,导出是否有友好的处理方式  </p> <p>8)验证导出目的的文件夹为只读的情况下,导出时是否有友好的的提示信息</p> <p><strong>3、文件上传</strong></p> <p><strong>页面</strong></p> <p>1)页面美观性、易用性(键盘和鼠标的操作、tab跳转的顺序是否正确)  </p> <p>2)按钮文字正确性 </p> <p>3)说明文字是否正确  </p> <p>4)正确/错误的提示文字是否正确 </p> <p>5)提示当前位置是否正确,并且和其他页面保持一致格式  </p> <p>6)必添项的标示是否正确</p> <p><strong>功能</strong></p> <p>1)路径是否可以手工输入(手工输入的时候有没有限长)  </p> <p>2)上传文件超过最大值是在提交前校验还是提交后校验 </p> <p>3)上传文件格式是否全部支持(图片:gif/jpg/bmp...文档:doc/sxw/xls...压缩包:zip/rar...安装文件:exe/msi) </p> <p>4)上传文件是否支持中文名称</p> <p>5)文件名称的最大值、最小值、特殊字符(包含空格)、使用程序语句是否会对其造成影响、中文名称是否能正常显示</p> <p><strong>4、文件下载</strong></p> <p><strong>功能</strong></p> <p>1)右键另存为是否可以正确下载文件,并且记录下载次数</p> <p>•工具下载是否正确,并且记录下载次数</p> <p>2)单击下载是提示下载还是在页面打开</p> <p>•直接打开是否显示正确</p> <p>•对于本机没有安装工具的文件是否能够打开,是否能给出正确的提示</p> <p>•对于直接在页面内打开的内容是否能够显示正常,页面美观性</p> <p>•保存到本地是否能正确显示• 取消下载是否会纪录下载次数</p> <p>3)下载次数是否被正确记录</p> <p><strong>四、列表公共测试用例</strong></p> <p><strong>1、列表页面显示</strong></p> <p>1)确认页面的默认排序方式,字段+升降续;</p> <p>2)含link的列,验证其有效性,即,点击后的跳转是否正确;</p> <p>3)第一列的选择框,“全选”和“部分选择”需有效;部分选中时,全选按钮应自动取消。</p> <p><strong>2、顶部搜索功能</strong></p> <p>1)逐个测试每个搜索条件的有效性;</p> <p>2)做2-3个组合条件的查询,验证结果;合计共有N+3个搜索条件的测试。</p> <p>3)有时间区间的,验证列表项的开始到结束时间和选择区间有交叉,则为有效,且包含所选日期的记录;</p> <p>4)条件中,开始时间不能大于结束时间;</p> <p>5)搜索条件,在分页显示时,需始终保持有效;</p> <p>6)点击名为“显示全部”的按钮,需清除所有条件,并显示所有记录。</p> <p>7)每一次新的搜索执行,都应该去除分页,显示第一页、并回到进入页面时的默认排序方式。</p> <p><strong>3、右侧或底部的按钮</strong></p> <p>按功能分成多个用例:</p> <p>1)单选,多选、全选的情况下,点击按钮执行某个功能,如暂停服务、恢复服务的按钮; </p> <p>2)跨页选择,在一些选择成员的列表中是应有效的,需进行确认。</p> <p><strong>4、列表数据的验证</strong></p> <p>验证从数据库中得到的列表项中每列数据的正确性,要求覆盖不同情况下的值,比如“开通”、“暂停”的服务状态;已使用空间大小和总空间大小等数字的正确性。可考虑结合其他用例来描述,但必须覆盖到。 </p> <p><strong>5、列表按标题的排序</strong></p> <p>1)检查每个列标题,要求点击后能按其进行排序:第一次点击为正序,以后每次点击为升、降续的切换。</p> <p>2)进入下一页、上一页,以及任意分页显示时,条件需始终保持有效。</p> <p><strong>6、分页</strong></p> <p>1)“第2页/共8页每页 10条/共 79条”中的分页数据必须正确;</p> <p>2)第一页、上一页、下一页、最后一页的link在当前上下文有意义时显示,否则隐藏或显示为文本标签;</p> <p>3)填入某个数字,点击“跳转到”按钮,到正确的页数;</p> <p>4)当没有数据时,首页、上一页、下一页、尾页标签全部置灰;<br>5<span style="font-family:'宋体';">)在首页时,</span>“首页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;<br>6)翻页后,列表中的数据是否扔按照指定的顺序进行了排序;<br>7)各个分页标签是否在同一水平线上;<br>8)各个页面的分页标签样式是否一致;<br>9)分页的总页数及当前页数显示是否正确;<br>10)是否能正确跳转到指定的页数;<br>11<span style="font-family:'宋体';">)在分页处输入非数字的字符(英文、特殊字符等),输入</span>0或超出总页数的数字,是否有友好提示信息;<br>12)是否支持回车键的监听;</p> <p>另外请考虑每个文本框输入的有效性,比如日期、域名、跳转到某页的文本框的能接受的值。</p> <p> </p> <p><strong>网站</strong><strong>代码</strong><strong>验证没人可以细致到保证自己的网站代码都是正确的,你可以通过以下测试来验证网站代码是否正确。</strong><br><br>    1 .<u><span style="color:rgb(0,44,153);">WDG HTML Validator</span></u>一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。(强烈推荐)<br><br>    2 .<u><span style="color:rgb(0,44,153);">W3C Markup Validation Service</span></u><span style="font-family:'宋体';">对</span> HTML 和 XHTML 都能进行代码测试,自称是互联网络上第一个(也是使用者最多的)的 HTML 验证工具。<br><br>    3 .<u><span style="color:rgb(0,44,153);">W3C CSS Validation Service</span></u><span style="font-family:'宋体';">用于验证</span> css 源代码,能够标注出不好的 css 代码<u><span style="color:rgb(0,153,153);">设计</span></u><span style="font-family:'宋体';">。例如:</span>“Same colors for color and background-color in two contexts”。<br><br>    4 .<u><span style="color:rgb(0,44,153);">RUWF XML Syntax Checker</span></u><span style="font-family:'宋体';">用于查找</span> XML 文件的错误。<br>    5 .<u><span style="color:rgb(0,44,153);">W3C Feed Validation Service</span></u><span style="font-family:'宋体';">用于查找</span> Atom 和 RSS feed 中的错误语法。<br><br>    6 .<u><span style="color:rgb(0,44,153);">W3C Link Checker</span></u>用于搜寻查明你网站内的所有链接里是否有断链。(强烈推荐)<br><br>    7 .<u><span style="color:rgb(0,44,153);">Watchfire WebXACT</span></u>所有严谨的设计师和<u><span style="color:rgb(0,153,153);">开发</span></u>者都必须使用的工具,它会生成一个非常详尽的报告书,包括:网站<u><span style="color:rgb(0,153,153);">质量</span></u>,易用性和隐私等。(强烈推荐)<br><br>    8 .<u><span style="color:rgb(0,44,153);">ATRC </span></u><u><span style="color:rgb(0,153,153);">Web</span></u><span style="color:rgb(0,44,153);"> Accessibility Checker</span><span style="font-family:'宋体';">测试网站的</span> WCAG 2.0 Level2 兼容性,它会生成一份报告,提出一系列建议,如:如何提升页头,链接,<u><span style="color:rgb(0,153,153);">数据</span></u>,图表和文字的访问速度。<br><br>    9 .<u><span style="color:rgb(0,44,153);">WAVE 3.0 Web Accessibility Tool</span></u>高度可定制的工具,它采用了图形化<u><span style="color:rgb(0,153,153);">模型</span></u><span style="font-family:'宋体';">展示网站兼容性问题(</span> WCAG 1.0 and section 508 )。(强烈推荐)<br><br>    10 .<u><span style="color:rgb(0,44,153);">TAW Web Accessibility Test</span></u><span style="font-family:'宋体';">测试网页是否存在冲突(</span> WCAG 1.0 兼容性 ),通过图形模式生成一份依据 wcag 优先模式为<u><span style="color:rgb(0,153,153);">基础</span></u>的网站修改建议。<br><br>    11 .<u><span style="color:rgb(0,44,153);">HiSoftware CynthiaSays portal</span></u><span style="font-family:'宋体';">采用了非常严格的规则来测试网页(</span> <span style="font-family:'宋体';">根据</span> section 508 和 WCAG 1.0 规则 ),生成的报告也极为详细( 详细到很难看懂 )。<br><br>    12 .<u><span style="color:rgb(0,44,153);">HERA Accessibility testing with Style</span></u><span style="font-family:'宋体';">使用一种极为复杂但容易理解方式指出网页的</span> wcag1.0 兼容性问题。<br><br>    13 .<u><span style="color:rgb(0,44,153);">Juicy Studio CSS Analyser</span></u><span style="font-family:'宋体';">进行了色彩对比测试,以确保你的网站的色调会符合</span> WCAG 1.0 的要求。<br><br>    14 .<u><span style="color:rgb(0,44,153);">Juiciy Studio Readability Test</span></u><span style="font-family:'宋体';">分析你网站上的文字是否有语法错误或拼写错误等问题,容易让人理解不(</span> <span style="font-family:'宋体';">根据</span> the Flesch Reading Ease 和 Flesch-Kincaid grade level algorithms 规则 )。( 适合英文网站使用 )<br>    网站的速度<br>    <span style="font-family:'宋体';">打开你的网站的速度快慢,是来访者会不会再次访问网站的关键因素,在一般情况下,一个网络不是很快的来访者是不愿意访问一个充满着图片、</span>flash 动画、多媒体文件的网站。为了使你的网站覆盖人群的范围最大化,你必须优化你的网站,使它的打开速度尽可能的快。<br><br>    15 .<u><span style="color:rgb(0,44,153);">Web Page Analyzer from Website Optimization</span></u>一个很好的工具,它在分析完一个网页后,会为减少加载时间提出优化建议,着重优化物体的数目,图片和网站的总体大小。(强烈推荐)<br><br>    16 .<u><span style="color:rgb(0,44,153);">WebSitePulse Test Tools</span></u>有一系列的工具来确定网站的加载速度和主机信息。<br><br>    17 .<u><span style="color:rgb(0,44,153);">Internet Supervision Url Check</span></u>从世界各地不同的<u><span style="color:rgb(0,153,153);">服务器</span></u>来测试你的网站的加载时间,用于确定是不是各地的来访者都能顺利快速的打开你得网站。<br>浏览器模拟工具<br>这是一个普遍的问题,因为现在有着很多的操作<u><span style="color:rgb(0,153,153);">系统</span></u>和浏览器,你得网站必须得兼容它们,但这绝不是一件容易的事。通过下列工具,你可以了解你得网站在各种浏览器上的显示效果。<br>    18 .<u><span style="color:rgb(0,44,153);">Browsershots</span></u><span style="font-family:'宋体';">能给出你的网站在不同浏览器下显示效果的截图,包括:</span>Firefox 和 Internet Explorer ( Windows )、Firefox 和 Safari ( Mac OS X )、Iceweasal 和 Konqueror ( <u><span style="color:rgb(0,153,153);">Linux</span></u> ),但是结果要在 1 - 3 小时后才能出来。<br><br>    19 .<u><span style="color:rgb(0,44,153);">IE NetRenderer</span></u><span style="font-family:'宋体';">实时生成你的网站在</span> Internet Explorer 5.5 、6.0 和 7.0 下的截图。<br><br>    20 .<u><span style="color:rgb(0,44,153);">MobiReady Report</span></u>分析使用<u><span style="color:rgb(0,153,153);">手机</span></u>访问网页的兼容性问题,会生成一份详细的报告,并提供了在两种不同类型的手机浏览器上你得网站可能显示的样子。<br><span style="font-family:'宋体';">搜索引擎优化</span> (SEO)<br>一个网站,如果对搜索引擎有着比较好的友好度,一定会比较有竞争力。<br><br>    21 .<u><span style="color:rgb(0,44,153);">UrlTrends</span></u><span style="font-family:'宋体';">会显示网站的访客是如何通过搜索引擎来到你的网站,还有各个流量是多少。这些数据是包括</span> Google, Yahoo, MSN, Alexa, AlltheWeb, AltaVista 和其他一些网站。(强烈推荐)<br><br>    22 .<u><span style="color:rgb(0,44,153);">iWEBTOOL Backlink Checker</span></u>一个很好的工具,它能找出有什么站点链接到你的站点,那些站点是什么类型的站点。<br>    23 .<u><span style="color:rgb(0,44,153);">iWEBTOOL Multi-Rank Checker</span></u><span style="font-family:'宋体';">显示你网站的</span> Alexa 和 Google PageRank 数值。<br><br>    24 .<u><span style="color:rgb(0,44,153);">Microsoft adCenter Labs: Advertising and Keyword Research Tools</span></u>一个极好的工具,用于分析和预测你网站的来访者和市场。(强烈推荐)<br><br>    25 .<u><span style="color:rgb(0,44,153);">Domain Tools Whois lookup</span></u><span style="font-family:'宋体';">一个</span> WHOIS 网络工具。<br><br>    26 .<u><span style="color:rgb(0,44,153);">SEO-Browser</span></u><span style="font-family:'宋体';">可以让你看到在搜索引擎眼里一样的网站(</span> <span style="font-family:'宋体';">去掉所有的</span>”美丽”配件 )。<br><br>    27 .<u><span style="color:rgb(0,44,153);">SEO Workers SEO Analysis Tool</span></u>非常有用的工具,分析了网站上的各种<u><span style="color:rgb(0,153,153);"><span style="font-family:'宋体';">分类</span></span></u><span style="font-family:'宋体';">特征,包括</span> meta. 标签、关键字密度及加载时间。(强烈推荐)<br><br>    28 .<u><span style="color:rgb(0,44,153);">Seekport Seekbot</span></u>可以分析网站的数据和内容,以得出搜索引擎会如何有效的解释分析的网站。<br><br>    29 .<u><span style="color:rgb(0,44,153);">SEO Chat SEO Tools</span></u><span style="font-family:'宋体';">用以分析网站</span> Google adsense 盈利潜力,关键字密度,Meta. tag 等等……<br>    30 .<u><span style="color:rgb(0,44,153);">Marketleap Search Engine Marketing Tools</span></u>用来分析网页,让你知道你的网站检索、设定的关键字好不好。</p> <p><span style="color:rgb(68,68,68);"> </span></p> <p><span style="color:rgb(102,102,102);"> </span></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1305893046524612608"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(测试,兼容性测试,功能测试,安全测试,表单测试,链接测试)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835502704827396096.htm" title="将cmd中命令输出保存为txt文本文件" target="_blank">将cmd中命令输出保存为txt文本文件</a> <span class="text-muted">落难Coder</span> <a class="tag" taget="_blank" href="/search/Windows/1.htm">Windows</a><a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a><a class="tag" taget="_blank" href="/search/window/1.htm">window</a> <div>最近深度学习本地的训练中我们常常要在命令行中运行自己的代码,无可厚非,我们有必要保存我们的炼丹结果,但是复制命令行输出到txt是非常麻烦的,其实Windows下的命令行为我们提供了相应的操作。其基本的调用格式就是:运行指令>输出到的文件名称或者具体保存路径测试下,我打开cmd并且ping一下百度:pingwww.baidu.com>./data.txt看下相同目录下data.txt的输出:如果你再</div> </li> <li><a href="/article/1835497965330984960.htm" title="398顺境,逆境" target="_blank">398顺境,逆境</a> <span class="text-muted">戴骁勇</span> <div>2018.11.27周二雾霾最近儿子进入了一段顺境期,今天表现尤其不错。今天的数学测试成绩喜人,没有出现以往的计算错误,整个卷面书写工整,附加题也在规定时间内完成且做对。为迎接体育测试的锻炼有了质的飞跃。坐位体前屈成绩突飞猛进,估测成绩能达到12cm,这和上次测试的零分来比,简直是逆袭。儿子还在不断锻炼和提升,唯恐到时候掉链子。跑步姿势在我的调教下,逐渐正规起来,速度随之也有了提升。今晚测试的50</div> </li> <li><a href="/article/1835496402042580992.htm" title="GitHub上克隆项目" target="_blank">GitHub上克隆项目</a> <span class="text-muted">bigbig猩猩</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>从GitHub上克隆项目是一个简单且直接的过程,它允许你将远程仓库中的项目复制到你的本地计算机上,以便进行进一步的开发、测试或学习。以下是一个详细的步骤指南,帮助你从GitHub上克隆项目。一、准备工作1.安装Git在克隆GitHub项目之前,你需要在你的计算机上安装Git工具。Git是一个开源的分布式版本控制系统,用于跟踪和管理代码变更。你可以从Git的官方网站(https://git-scm.</div> </li> <li><a href="/article/1835496149843275776.htm" title="关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript" target="_blank">关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript</a> <span class="text-muted">二挡起步</span> <a class="tag" taget="_blank" href="/search/web%E5%89%8D%E7%AB%AF%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">web前端期末大作业</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%97%85%E6%B8%B8/1.htm">旅游</a><a class="tag" taget="_blank" href="/search/%E9%A3%8E%E6%99%AF/1.htm">风景</a> <div>⛵源码获取文末联系✈Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业|游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作|HTML期末大学生网页设计作业,Web大学生网页HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScrip</div> </li> <li><a href="/article/1835496148601761792.htm" title="HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动" target="_blank">HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动</a> <span class="text-muted">二挡起步</span> <a class="tag" taget="_blank" href="/search/web%E5%89%8D%E7%AB%AF%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">web前端期末大作业</a><a class="tag" taget="_blank" href="/search/web%E8%AE%BE%E8%AE%A1%E7%BD%91%E9%A1%B5%E8%A7%84%E5%88%92%E4%B8%8E%E8%AE%BE%E8%AE%A1/1.htm">web设计网页规划与设计</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/dreamweaver/1.htm">dreamweaver</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作HTML期末大学生网页设计作业HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScript:做与用户的交互行为文章目录前端学习路线</div> </li> <li><a href="/article/1835492487783870464.htm" title="CX8836:小体积大功率升降压方案推荐(附Demo设计指南)" target="_blank">CX8836:小体积大功率升降压方案推荐(附Demo设计指南)</a> <span class="text-muted">诚芯微科技</span> <a class="tag" taget="_blank" href="/search/%E7%A4%BE%E4%BA%A4%E7%94%B5%E5%AD%90/1.htm">社交电子</a> <div>CX8836是一颗同步四开关单向升降压控制器,在4.5V-40V宽输入电压范围内稳定工作,持续负载电流10A,能够在输入高于或低于输出电压时稳定调节输出电压,可适用于USBPD快充、车载充电器、HUB、汽车启停系统、工业PC电源等多种升降压应用场合,为大功率TYPE-CPD车载充电器提供最优解决方案。提供CX8836Demo测试、CX8836样品申请及CX8836方案开发技术支持。CX8836同升</div> </li> <li><a href="/article/1835492114943799296.htm" title="穷人做什么生意最赚钱?10个适合穷人赚钱的路子?" target="_blank">穷人做什么生意最赚钱?10个适合穷人赚钱的路子?</a> <span class="text-muted">氧惠爱高省</span> <div>不管在什么地方,一般都是穷人占大量数,而富人只有少数,但是它们却掌握着大量的财富。对于穷人来说,想要买车、买房等奢侈品就难如登天,因为他们只能通过打工来赚取几千元的月薪。➤推荐网购返利app“氧惠”,一个领隐藏优惠券+现金返利的平台。氧惠只提供领券返利链接,下单全程都在淘宝、京东、拼多多等原平台,更支持抖音、快手电商、外卖红包返利等。(应用市场搜“氧惠”下载,邀请码:521521,全网优惠上氧惠!</div> </li> <li><a href="/article/1835491354004779008.htm" title="【华为OD技术面试真题 - 技术面】-测试八股文真题题库(1)" target="_blank">【华为OD技术面试真题 - 技术面】-测试八股文真题题库(1)</a> <span class="text-muted">算法大师</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录文章目录华为OD面试真题精选1.黑盒测试和白盒测试的区别2.假设我们公司现在开发一个类似于微信的软件1.0版本,现在要你测试这个功能:打开聊天窗口,输入文本,限制字数在200字以内。问你怎么提取测试点。功能测试性能测试安全性测试可用性测试跨平台兼容性测试网络环境测试3.接口测试的工具你了解哪些</div> </li> <li><a href="/article/1835489460372992000.htm" title="【PG】常见数据库、表属性设置" target="_blank">【PG】常见数据库、表属性设置</a> <span class="text-muted">江无羡</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>PG的常见属性配置方法数据库复制、备份相关表的复制标识单表操作批量表操作链接数据库复制、备份相关表的复制标识单表操作通过ALTER语句单独更改一张表的复制标识。ALTERTABLE[tablename]REPLICAIDENTITYFULL;批量表操作通过代码块的方式,对某个schema中的所有表一起更新其复制标识。SELECTtablename,CASErelreplidentWHEN'd'TH</div> </li> <li><a href="/article/1835480811726532608.htm" title="与陌生人链接16" target="_blank">与陌生人链接16</a> <span class="text-muted">盼盼_9ba9</span> <div>今天早上上班到下午下班,没有见到一个陌生人,但是与一个陌生人通电话了,他是师大音乐学院副院长,钢琴专业老师,想要找他给女儿教钢琴,昨天晚上我给他打了一个电话,他说他不教我家姑娘这样级别的孩子,我家姑娘刚刚学了10个月,也就一级的水平,而且说现在他们周末都上班,也没有时间,不知道什么原因,他说让我今天给他打电话看看孩子,今天我7点给他打电话,他说还在开会,8点半给他打电话他说刚刚散会!约我明天晚上8</div> </li> <li><a href="/article/1835476350190841856.htm" title="ExpRe[25] bash外的其它shell:zsh和fish" target="_blank">ExpRe[25] bash外的其它shell:zsh和fish</a> <span class="text-muted">tritone</span> <a class="tag" taget="_blank" href="/search/ExpRe/1.htm">ExpRe</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>文章目录zsh基础配置实用特性插件`autojump`语法高亮自动补全fish优点缺点时效性本篇撰写时间为2021.12.15,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。本篇前置:ExpRe[10]Ubuntu[2]准备神秘软件、备份恢复软件https://www.cnblogs</div> </li> <li><a href="/article/1835476221660590080.htm" title="2018-12-07" target="_blank">2018-12-07</a> <span class="text-muted">旅一06丁琪琪</span> <div>旅管一班6组学号链接06丁琪琪16家国鑫26孟令慧30王思宁36温红丽46朱赵筱楠</div> </li> <li><a href="/article/1835470931783413760.htm" title="「豆包Marscode体验官」 | 云端 IDE 启动 & Rust 体验" target="_blank">「豆包Marscode体验官」 | 云端 IDE 启动 & Rust 体验</a> <span class="text-muted">张风捷特烈</span> <a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>theme:cyanosis我正在参加「豆包MarsCode初体验」征文活动MarsCode可以看作一个运行在服务端的远程VSCode开发环境。对于我这种想要学习体验某些语言,但不想在电脑里装环境的人来说非常友好。本文就来介绍一下在MarsCode里,我的体验rust开发体验。一、MarsCode是什么它的本质是:提供代码助手和云端IDE服务的web网站,可通过下面的链接访问https://www</div> </li> <li><a href="/article/1835466523163062272.htm" title="Linux sh命令" target="_blank">Linux sh命令</a> <span class="text-muted">fengyehongWorld</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>目录一.基本语法二.选项2.1-c字符串中读取内容,并执行2.1.1基本用法2.1.2获取当前目录下失效的超链接2.2-x每个命令执行之前,将其打印出来2.3结合Here文档使用一.基本语法⏹Linux和Unix系统中用于执行shell脚本或运行命令的命令。sh[选项][脚本文件][参数...]⏹选项-c:从字符串中读取内容,并执行。-x:在每个命令执行之前,将其打印出来。-s:从标准流中读取内容</div> </li> <li><a href="/article/1835461728423473152.htm" title="第1步win10宿主机与虚拟机通过NAT共享上网互通" target="_blank">第1步win10宿主机与虚拟机通过NAT共享上网互通</a> <span class="text-muted">学习3人组</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>VM的CentOS采用NAT共用宿主机网卡宿主机器无法连接到虚拟CentOS要实现宿主机与虚拟机通信,原理就是给宿主机的网卡配置一个与虚拟机网关相同网段的IP地址,实现可以互通。1、查看虚拟机的IP地址2、编辑虚拟机的虚拟网络的NAT和DHCP的配置,设置虚拟机的网卡选择NAT共享模式3、宿主机的IP配置,确保vnet8的IPV4属性与虚拟机在同一网段4、ping测试连通性[root@localh</div> </li> <li><a href="/article/1835461543064596480.htm" title="我在大学遇到的兼职坑2" target="_blank">我在大学遇到的兼职坑2</a> <span class="text-muted">竹音小居</span> <div>不要存在侥幸,天上不会掉馅饼上一次我讲述了我在某宝刷单遇到的坑,今天我就来讲讲比某宝刷单更坑的兼职,不,这应该不是兼职了,是被骗。我因为在某宝刷单交了会费,最后连本金都没有挣回来,就想找一个不用交本金的刷单平台,然后我就上网搜了一下“有没有不用交钱的兼职”,没成想还真有,我打开网页链接,看人家上面写的文案,确实很心动,不用交钱,加一下客服的qq就可以接单,而且网页上还有很多别人挣钱的截图,佣金非常</div> </li> <li><a href="/article/1835458199755517952.htm" title="spring如何整合druid连接池?" target="_blank">spring如何整合druid连接池?</a> <span class="text-muted">惜.己</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/junit/1.htm">junit</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/idea/1.htm">idea</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>目录spring整合druid连接池1.新建maven项目2.新建mavenModule3.导入相关依赖4.配置log4j2.xml5.配置druid.xml1)xml中如何引入properties2)下面是配置文件6.准备jdbc.propertiesJDBC配置项解释7.配置druid8.测试spring整合druid连接池1.新建maven项目打开IDE(比如IntelliJIDEA,Ecl</div> </li> <li><a href="/article/1835455048277127168.htm" title="Python神器!WEB自动化测试集成工具 DrissionPage" target="_blank">Python神器!WEB自动化测试集成工具 DrissionPage</a> <span class="text-muted">亚丁号</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>一、前言用requests做数据采集面对要登录的网站时,要分析数据包、JS源码,构造复杂的请求,往往还要应付验证码、JS混淆、签名参数等反爬手段,门槛较高。若数据是由JS计算生成的,还须重现计算过程,体验不好,开发效率不高。使用浏览器,可以很大程度上绕过这些坑,但浏览器运行效率不高。因此,这个库设计初衷,是将它们合而为一,能够在不同须要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率</div> </li> <li><a href="/article/1835451142843232256.htm" title="Armv8.3 体系结构扩展--原文版" target="_blank">Armv8.3 体系结构扩展--原文版</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/armv8/1.htm">armv8</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/arm%E6%9E%B6%E6%9E%84/1.htm">arm架构</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%9E%B6%E6%9E%84/1.htm">安全架构</a><a class="tag" taget="_blank" href="/search/%E8%8A%AF%E7%89%87/1.htm">芯片</a><a class="tag" taget="_blank" href="/search/Trustzone/1.htm">Trustzone</a><a class="tag" taget="_blank" href="/search/Secureboot/1.htm">Secureboot</a> <div>快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:个人博客笔记导读目录(全部)TheArmv8.3architectureextensionTheArmv8.3architectureextensionisanextensiontoArmv8.2.Itaddsmandatoryandoptionalarchitecturalfeatures.Somefeat</div> </li> <li><a href="/article/1835447606348705792.htm" title="C++ lambda闭包消除类成员变量" target="_blank">C++ lambda闭包消除类成员变量</a> <span class="text-muted">barbyQAQ</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>原文链接:https://blog.csdn.net/qq_51470638/article/details/142151502一、背景在面向对象编程时,常常要添加类成员变量。然而类成员一旦多了之后,也会带来干扰。拿到一个类,一看成员变量好几十个,就问你怕不怕?二、解决思路可以借助函数式编程思想,来消除一些不必要的类成员变量。三、实例举个例子:classClassA{public:...intfu</div> </li> <li><a href="/article/1835444076007223296.htm" title="JAVA·一个简单的登录窗口" target="_blank">JAVA·一个简单的登录窗口</a> <span class="text-muted">MortalTom</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>文章目录概要整体架构流程技术名词解释技术细节资源概要JavaSwing是Java基础类库的一部分,主要用于开发图形用户界面(GUI)程序整体架构流程新建项目,导入sql.jar包(链接放在了文末),编译项目并运行技术名词解释一、特点丰富的组件提供了多种可视化组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、下拉列表(JComboBox)等,可以满足不同的界面设计</div> </li> <li><a href="/article/1835443013749403648.htm" title="入门MySQL——查询语法练习" target="_blank">入门MySQL——查询语法练习</a> <span class="text-muted">K_un</span> <div>前言:前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法。其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用的员工示例数据库为准,详细介绍各自常用的查询语法。1.员工示例数据库导入官方文档员工示例数据库介绍及下载链接:https://dev.mysql.com/doc/employee/en/employees-installation.h</div> </li> <li><a href="/article/1835438028009598976.htm" title="WebMagic:强大的Java爬虫框架解析与实战" target="_blank">WebMagic:强大的Java爬虫框架解析与实战</a> <span class="text-muted">Aaron_945</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>文章目录引言官网链接WebMagic原理概述基础使用1.添加依赖2.编写PageProcessor高级使用1.自定义Pipeline2.分布式抓取优点结论引言在大数据时代,网络爬虫作为数据收集的重要工具,扮演着不可或缺的角色。Java作为一门广泛使用的编程语言,在爬虫开发领域也有其独特的优势。WebMagic是一个开源的Java爬虫框架,它提供了简单灵活的API,支持多线程、分布式抓取,以及丰富的</div> </li> <li><a href="/article/1835436642270277632.htm" title="【Python搞定车载自动化测试】——Python实现车载以太网DoIP刷写(含Python源码)" target="_blank">【Python搞定车载自动化测试】——Python实现车载以太网DoIP刷写(含Python源码)</a> <span class="text-muted">疯狂的机器人</span> <a class="tag" taget="_blank" href="/search/Python%E6%90%9E%E5%AE%9A%E8%BD%A6%E8%BD%BD%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">Python搞定车载自动化</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/DoIP/1.htm">DoIP</a><a class="tag" taget="_blank" href="/search/UDS/1.htm">UDS</a><a class="tag" taget="_blank" href="/search/ISO/1.htm">ISO</a><a class="tag" taget="_blank" href="/search/14229/1.htm">14229</a><a class="tag" taget="_blank" href="/search/1SO/1.htm">1SO</a><a class="tag" taget="_blank" href="/search/13400/1.htm">13400</a><a class="tag" taget="_blank" href="/search/Bootloader/1.htm">Bootloader</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a> <div>系列文章目录【Python搞定车载自动化测试】系列文章目录汇总文章目录系列文章目录前言一、环境搭建1.软件环境2.硬件环境二、目录结构三、源码展示1.DoIP诊断基础函数方法2.DoIP诊断业务函数方法3.27服务安全解锁4.DoIP自动化刷写四、测试日志1.测试日志五、完整源码链接前言随着智能电动汽车行业的发展,汽车=智能终端+四个轮子,各家车企都推出了各自的OTA升级方案,本章节主要介绍如何使</div> </li> <li><a href="/article/1835436390200995840.htm" title="Table列表复现框实现【勾选-搜索-再勾选】" target="_blank">Table列表复现框实现【勾选-搜索-再勾选】</a> <span class="text-muted">~四时春~</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/elementui/1.htm">elementui</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>Table列表复现框实现【勾选-搜索-再勾选】概要整体架构流程代码实现技术细节注意参考文献概要最近在开发时遇到一个问题,在进行表单渲染时,正常选中没有问题,单如果需要搜索选中时,一个是已选中的不会回填,二是在搜索的结果中进行选中,没有实现,经过排查,查找资料后实现。例如:整体架构流程具体的实现效果如下:代码实现{{scope.row.userName}}已选区{{userItem.userName</div> </li> <li><a href="/article/1835429202871021568.htm" title="Python 课程10-单元测试" target="_blank">Python 课程10-单元测试</a> <span class="text-muted">可愛小吉</span> <a class="tag" taget="_blank" href="/search/Python%E6%95%99%E5%AD%B8/1.htm">Python教學</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/TDD/1.htm">TDD</a><a class="tag" taget="_blank" href="/search/unittest/1.htm">unittest</a> <div>前言在现代软件开发中,单元测试已成为一种必不可少的实践。通过测试,我们可以确保每个功能模块在开发和修改过程中按预期工作,从而减少软件缺陷,提高代码质量。而测试驱动开发(TDD)则进一步将测试作为开发的核心部分,先编写测试,再编写代码,以测试为指导开发出更稳定、更可靠的代码。Python提供了强大的unittest模块,它是Python标准库的一部分,专门用于编写和执行单元测试。与其他测试框架相比,</div> </li> <li><a href="/article/1835421510202912768.htm" title="【自动化测试】UI自动化的分类、如何选择合适的自动化测试工具以及其中appium的设计理念、引擎和引擎如何工作" target="_blank">【自动化测试】UI自动化的分类、如何选择合适的自动化测试工具以及其中appium的设计理念、引擎和引擎如何工作</a> <span class="text-muted">Lossya</span> <a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/appium/1.htm">appium</a> <div>引言UI自动化测试主要针对软件的用户界面进行测试,以确保用户界面元素的交互和功能符合预期文章目录引言一、UI自动化的分类1.1基于代码的自动化测试1.2基于录制/回放的自动化测试1.3基于框架的自动化测试1.4按测试对象分类1.5按测试层次分类1.6按测试执行方式分类1.7按测试目的分类二、如何选择合适的自动化测试工具2.1项目需求分析2.2工具特性评估2.3成本考虑2.4团队技能2.5试用和评估</div> </li> <li><a href="/article/1835420753252675584.htm" title="微信小程序开发注意事项" target="_blank">微信小程序开发注意事项</a> <span class="text-muted">jun778895</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>微信小程序开发是一个融合了前端开发、用户体验设计、后端服务(可选)以及微信小程序平台特性的综合性项目。这里,我将详细介绍一个典型的小程序开发项目的全过程,包括项目规划、设计、开发、测试及部署上线等各个环节,并尽量使内容达到或超过2000字的要求。一、项目规划1.1项目背景与目标假设我们要开发一个名为“智慧校园助手”的微信小程序,旨在为学生提供一站式校园生活服务,包括课程表查询、图书馆座位预约、食堂</div> </li> <li><a href="/article/1835417581499019264.htm" title="性格小测试" target="_blank">性格小测试</a> <span class="text-muted">熹大头</span> <div>有些人非常肯定自己属于外向型,有些人则发现自己是绝对的内向型。然而,多数人却发现他们似乎介于两者之间,是两种性格的结合。现在我们就来看看你在这种分类中处在何种位置。阅读以下问题,从a、b、c中选出最适合自己的选项。你可能会发现三个选项都不合适,或者合适的不止一项,这种情况下,选出相对来说更适合自己的即可。1人们经常会用下列哪个词语描述你:a善于分析b遵守纪律c有创造力2一连几天参与社交活动(比如,</div> </li> <li><a href="/article/1835410162517635072.htm" title="wandb一直上传 解决方案" target="_blank">wandb一直上传 解决方案</a> <span class="text-muted">行业边缘的摸鱼怪</span> <a class="tag" taget="_blank" href="/search/bug%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">bug解决方案</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>问题描述运行带有wandb的代码时,虽然可以实现及时同步非常方便,但当设置错参数或其他原因不得不使用ctrl+C停止运行时,总会出现wandb一直上传个不停的现象,给在同一终端重新运行新的代码造成困难。解决方案运行以下代码把wandb的进程直接杀死。psaux|grepwandb|grep-vgrep|awk'{print$2}'|xargskill-9参考链接[CLI]:Ctrl+Ctokill</div> </li> <li><a href="/article/106.htm" title="书其实只有三类" target="_blank">书其实只有三类</a> <span class="text-muted">西蜀石兰</span> <a class="tag" taget="_blank" href="/search/%E7%B1%BB/1.htm">类</a> <div>一个人一辈子其实只读三种书,知识类、技能类、修心类。 知识类的书可以让我们活得更明白。类似十万个为什么这种书籍,我一直不太乐意去读,因为单纯的知识是没法做事的,就像知道地球转速是多少一样(我肯定不知道),这种所谓的知识,除非用到,普通人掌握了完全是一种负担,维基百科能找到的东西,为什么去记忆? 知识类的书,每个方面都涉及些,让自己显得不那么没文化,仅此而已。社会认为的学识渊博,肯定不是站在</div> </li> <li><a href="/article/233.htm" title="《TCP/IP 详解,卷1:协议》学习笔记、吐槽及其他" target="_blank">《TCP/IP 详解,卷1:协议》学习笔记、吐槽及其他</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/tcp/1.htm">tcp</a> <div>《TCP/IP 详解,卷1:协议》是经典,但不适合初学者。它更像是一本字典,适合学过网络的人温习和查阅一些记不清的概念。 这本书,我看的版本是机械工业出版社、范建华等译的。这本书在我看来,翻译得一般,甚至有明显的错误。如果英文熟练,看原版更好: http://pcvr.nl/tcpip/ 下面是我的一些笔记,包括我看书时有疑问的地方,也有对该书的吐槽,有不对的地方请指正: 1.</div> </li> <li><a href="/article/360.htm" title="Linux—— 静态IP跟动态IP设置" target="_blank">Linux—— 静态IP跟动态IP设置</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a> <div>一.在终端输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0 静态ip模板如下: DEVICE="eth0" #网卡名称 BOOTPROTO="static" #静态IP(必须) HWADDR="00:0C:29:B5:65:CA" #网卡mac地址 IPV6INIT=&q</div> </li> <li><a href="/article/487.htm" title="Informatica update strategy transformation" target="_blank">Informatica update strategy transformation</a> <span class="text-muted">18289753290</span> <div>更新策略组件: 标记你的数据进入target里面做什么操作,一般会和lookup配合使用,有时候用0,1,1代表 forward  rejected rows被选中,rejected row是输出在错误文件里,不想看到reject输出,将错误输出到文件,因为有时候数据库原因导致某些column不能update,reject就会output到错误文件里面供查看,在workflow的</div> </li> <li><a href="/article/614.htm" title="使用Scrapy时出现虽然队列里有很多Request但是却不下载,造成假死状态" target="_blank">使用Scrapy时出现虽然队列里有很多Request但是却不下载,造成假死状态</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/request/1.htm">request</a> <div>现象就是: 程序运行一段时间,可能是几十分钟或者几个小时,然后后台日志里面就不出现下载页面的信息,一直显示上一分钟抓取了0个网页的信息。 刚开始已经猜到是某些下载线程没有正常执行回调方法引起程序一直以为线程还未下载完成,但是水平有限研究源码未果。 经过不停的google终于发现一个有价值的信息,是给twisted提出的一个bugfix 连接地址如下http://twistedmatrix.</div> </li> <li><a href="/article/741.htm" title="利用预测分析技术来进行辅助医疗" target="_blank">利用预测分析技术来进行辅助医疗</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/%E5%8C%BB%E7%96%97/1.htm">医疗</a> <div>2014年,克利夫兰诊所(Cleveland Clinic)想要更有效地控制其手术中心做膝关节置换手术的费用。整个系统每年大约进行2600例此类手术,所以,即使降低很少一部分成本,都可以为诊 所和病人节约大量的资金。为了找到适合的解决方案,供应商将视野投向了预测分析技术和工具,但其分析团队还必须花时间向医生解释基于数据的治疗方案意味着 什么。  克利夫兰诊所负责企业信息管理和分析的医疗</div> </li> <li><a href="/article/868.htm" title="java 线程(一):基础篇" target="_blank">java 线程(一):基础篇</a> <span class="text-muted">DavidIsOK</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a> <div>                                                        &nbs</div> </li> <li><a href="/article/995.htm" title="Tomcat服务器框架之Servlet开发分析" target="_blank">Tomcat服务器框架之Servlet开发分析</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>最近使用Tomcat做web服务器,使用Servlet技术做开发时,对Tomcat的框架的简易分析: 疑问: 为什么我们在继承HttpServlet类之后,覆盖doGet(HttpServletRequest req, HttpServetResponse rep)方法后,该方法会自动被Tomcat服务器调用,doGet方法的参数有谁传递过来?怎样传递? 分析之我见: doGet方法的</div> </li> <li><a href="/article/1122.htm" title="揭秘玖富的粉丝营销之谜 与小米粉丝社区类似" target="_blank">揭秘玖富的粉丝营销之谜 与小米粉丝社区类似</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E6%8F%AD%E7%A7%98%E7%8E%96%E5%AF%8C%E7%9A%84%E7%B2%89%E4%B8%9D%E8%90%A5%E9%94%80%E4%B9%8B%E8%B0%9C/1.htm">揭秘玖富的粉丝营销之谜</a> <div>玖富旗下悟空理财凭借着一个微信公众号上线当天成交量即破百万,第七天成交量单日破了1000万;第23天时,累计成交量超1个亿……至今成立不到10个月,粉丝已经超过500万,月交易额突破10亿,而玖富平台目前的总用户数也已经超过了1800万,位居P2P平台第一位。很多互联网金融创业者慕名前来学习效仿,但是却鲜有成功者,玖富的粉丝营销对外至今仍然是个谜。     近日,一直坚持微信粉丝营销</div> </li> <li><a href="/article/1249.htm" title="Java web的会话跟踪技术" target="_blank">Java web的会话跟踪技术</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/url%E4%BC%9A%E8%AF%9D/1.htm">url会话</a><a class="tag" taget="_blank" href="/search/Cookie%E4%BC%9A%E8%AF%9D/1.htm">Cookie会话</a><a class="tag" taget="_blank" href="/search/Seession%E4%BC%9A%E8%AF%9D/1.htm">Seession会话</a><a class="tag" taget="_blank" href="/search/Java+Web/1.htm">Java Web</a><a class="tag" taget="_blank" href="/search/%E9%9A%90%E8%97%8F%E5%9F%9F%E4%BC%9A%E8%AF%9D/1.htm">隐藏域会话</a> <div>会话跟踪主要是用在用户页面点击不同的页面时,需要用到的技术点   会话:多次请求与响应的过程     1,url地址传递参数,实现页面跟踪技术          格式:传一个参数的 url?名=值     传两个参数的 url?名=值 &名=值   关键代码</div> </li> <li><a href="/article/1376.htm" title="web.xml之Servlet配置" target="_blank">web.xml之Servlet配置</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/Servlet%E9%85%8D%E7%BD%AE/1.htm">Servlet配置</a> <div>定义: <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>com.myapp.controller.MyFirstServlet</servlet-class> <init-param> <param-name></div> </li> <li><a href="/article/1503.htm" title="利用svnsync实现SVN同步备份" target="_blank">利用svnsync实现SVN同步备份</a> <span class="text-muted">sunjing</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/%E5%90%8C%E6%AD%A5/1.htm">同步</a><a class="tag" taget="_blank" href="/search/E000022/1.htm">E000022</a><a class="tag" taget="_blank" href="/search/svnsync/1.htm">svnsync</a><a class="tag" taget="_blank" href="/search/%E9%95%9C%E5%83%8F/1.htm">镜像</a> <div>1. 在备份SVN服务器上建立版本库    svnadmin create test 2. 创建pre-revprop-change文件     cd test/hooks/     cp pre-revprop-change.tmpl pre-revprop-change 3. 修改pre-revprop-</div> </li> <li><a href="/article/1630.htm" title="【分布式数据一致性三】MongoDB读写一致性" target="_blank">【分布式数据一致性三】MongoDB读写一致性</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>本系列文章结合MongoDB,探讨分布式数据库的数据一致性,这个系列文章包括: 数据一致性概述与CAP 最终一致性(Eventually Consistency) 网络分裂(Network Partition)问题 多数据中心(Multi Data Center) 多个写者(Multi Writer)最终一致性 一致性图表(Consistency Chart) 数据</div> </li> <li><a href="/article/1757.htm" title="Anychart图表组件-Flash图转IMG普通图的方法" target="_blank">Anychart图表组件-Flash图转IMG普通图的方法</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Flash/1.htm">Flash</a> <div>问题背景:项目使用的是Anychart图表组件,渲染出来的图是Flash的,往往一个页面有时候会有多个flash图,而需求是让我们做一个打印预览和打印功能,让多个Flash图在一个页面上打印出来。   那么我们打印预览的思路是获取页面的body元素,然后在打印预览界面通过$("body").append(html)的形式显示预览效果,结果让人大跌眼镜:Flash是</div> </li> <li><a href="/article/1884.htm" title="Window 80端口被占用 WHY?" target="_blank">Window 80端口被占用 WHY?</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8D%A0%E7%94%A8/1.htm">端口占用</a><a class="tag" taget="_blank" href="/search/window/1.htm">window</a> <div>平时在启动一些可能使用80端口软件的时候,会提示80端口已经被其他软件占用,那一般又会有那些软件占用这些端口呢?    下面坐下总结:         1、web服务器是最经常见的占用80端口的,例如:tomcat , apache  , IIS , Php等等;         2</div> </li> <li><a href="/article/2011.htm" title="编程之美-数组的最大值和最小值-分治法(两种形式)" target="_blank">编程之美-数组的最大值和最小值-分治法(两种形式)</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> import java.util.Arrays; public class MinMaxInArray { /** * 编程之美 数组的最大值和最小值 分治法 * 两种形式 */ public static void main(String[] args) { int[] t={11,23,34,4,6,7,8,1,2,23}; int[] </div> </li> <li><a href="/article/2138.htm" title="Perl正则表达式" target="_blank">Perl正则表达式</a> <span class="text-muted">chenbowen00</span> <a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a><a class="tag" taget="_blank" href="/search/perl/1.htm">perl</a> <div>首先我们应该知道 Perl 程序中,正则表达式有三种存在形式,他们分别是: 匹配:m/<regexp>;/ (还可以简写为 /<regexp>;/ ,略去 m) 替换:s/<pattern>;/<replacement>;/ 转化:tr/<pattern>;/<replacemnt>;</div> </li> <li><a href="/article/2265.htm" title="[宇宙与天文]行星议会是否具有本行星大气层以外的权力呢?" target="_blank">[宇宙与天文]行星议会是否具有本行星大气层以外的权力呢?</a> <span class="text-muted">comsci</span> <div>       举个例子: 地球,地球上由200多个国家选举出一个代表地球联合体的议会,那么现在地球联合体遇到一个问题,地球这颗星球上面的矿产资源快要采掘完了....那么地球议会全体投票,一致通过一项带有法律性质的议案,既批准地球上的国家用各种技术手段在地球以外开采矿产资源和其它资源........    &</div> </li> <li><a href="/article/2392.htm" title="Oracle Profile 使用详解" target="_blank">Oracle Profile 使用详解</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/profile/1.htm">profile</a><a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90%E9%99%90%E5%88%B6/1.htm">资源限制</a> <div>Oracle Profile 使用详解 转 一、目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。 二、条件: 创建profile必须要有CREATE PROFIL</div> </li> <li><a href="/article/2519.htm" title="How HipChat Stores And Indexes Billions Of Messages Using ElasticSearch & Redis" target="_blank">How HipChat Stores And Indexes Billions Of Messages Using ElasticSearch & Redis</a> <span class="text-muted">dengkane</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/Lucene/1.htm">Lucene</a> <div>This article is from an interview with Zuhaib Siddique, a production engineer at HipChat, makers of group chat and IM for teams. HipChat started in an unusual space, one you might not </div> </li> <li><a href="/article/2646.htm" title="循环小示例,菲波拉契序列,循环解一元二次方程以及switch示例程序" target="_blank">循环小示例,菲波拉契序列,循环解一元二次方程以及switch示例程序</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div># include <stdio.h> int main(void) { int n; int i; int f1, f2, f3; f1 = 1; f2 = 1; printf("请输入您需要求的想的序列:"); scanf("%d", &n); for (i=3; i<n; i</div> </li> <li><a href="/article/2773.htm" title="macbook的lamp环境" target="_blank">macbook的lamp环境</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/lamp/1.htm">lamp</a> <div>  sudo vim /etc/apache2/httpd.conf   /Library/WebServer/Documents 是默认的网站根目录   重启Mac上的Apache服务   这个命令很早以前就查过了,但是每次使用的时候还是要在网上查: 停止服务:sudo /usr/sbin/apachectl stop 开启服务:s</div> </li> <li><a href="/article/2900.htm" title="java ArrayList源码 下" target="_blank">java ArrayList源码 下</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/ArrayList%E6%BA%90%E7%A0%81/1.htm">ArrayList源码</a> <div>版本 jdk-7u71-windows-x64   JavaSE7 ArrayList源码上:http://flyouwith.iteye.com/blog/2166890     /** * 从这个列表中移除所有c中包含元素 */ public boolean removeAll(Collection<?> c) {</div> </li> <li><a href="/article/3027.htm" title="Spring Security(08)——intercept-url配置" target="_blank">Spring Security(08)——intercept-url配置</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a><a class="tag" taget="_blank" href="/search/intercept-url/1.htm">intercept-url</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90/1.htm">访问权限</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E5%8D%8F%E8%AE%AE/1.htm">访问协议</a><a class="tag" taget="_blank" href="/search/%E8%AF%B7%E6%B1%82%E6%96%B9%E6%B3%95/1.htm">请求方法</a> <div>intercept-url配置 目录 1.1     指定拦截的url 1.2     指定访问权限 1.3     指定访问协议 1.4     指定请求方法   1.1   &n</div> </li> <li><a href="/article/3154.htm" title="Linux环境下的oracle安装" target="_blank">Linux环境下的oracle安装</a> <span class="text-muted">jayung</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>linux系统下的oracle安装 本文档是Linux(redhat6.x、centos6.x、redhat7.x) 64位操作系统安装Oracle 11g(Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production),本文基于各种网络资料精心整理而成,共享给有需要的朋友。如有问题可联系:QQ:52-7</div> </li> <li><a href="/article/3281.htm" title="hotspot虚拟机" target="_blank">hotspot虚拟机</a> <span class="text-muted">leichenlei</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%A1%A3/1.htm">文档</a> <div>JVM参数  http://docs.oracle.com/javase/6/docs/technotes/guides/vm/index.html   JVM工具 http://docs.oracle.com/javase/6/docs/technotes/tools/index.html   JVM垃圾回收 http://www.oracle.com</div> </li> <li><a href="/article/3408.htm" title="读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”" target="_blank">读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”</a> <span class="text-muted">noaighost</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活” 眼里的Node.JS 初初接触node是一年前的事,那时候年少不更事。还在纠结什么语言可以编写出牛逼的程序,想必每个码农都会经历这个月经性的问题:微信用什么语言写的?facebook为什么推荐系统这么智能,用什么语言写的?dota2的外挂这么牛逼,用什么语言写的?……用什么语言写这句话,困扰人也是阻碍</div> </li> <li><a href="/article/3535.htm" title="快速开发Android应用" target="_blank">快速开发Android应用</a> <span class="text-muted">rensanning</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>Android应用开发过程中,经常会遇到很多常见的类似问题,解决这些问题需要花时间,其实很多问题已经有了成熟的解决方案,比如很多第三方的开源lib,参考 Android Libraries 和 Android UI/UX Libraries。 编码越少,Bug越少,效率自然会高。 但可能由于 根本没听说过、听说过但没用过、特殊原因不能用、自己已经有了解决方案等等原因,这些成熟的解决</div> </li> <li><a href="/article/3662.htm" title="理解Java中的弱引用" target="_blank">理解Java中的弱引用</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div> 不久之前,我 面试了一些求职Java高级开发工程师的应聘者。我常常会面试他们说,“你能给我介绍一些Java中得弱引用吗?”,如果面试者这样说,“嗯,是不是垃圾回收有关的?”,我就会基本满意了,我并不期待回答是一篇诘究本末的论文描述。   然而事与愿违,我很吃惊的发现,在将近20多个有着平均5年开发经验和高学历背景的应聘者中,居然只有两个人知道弱引用的存在,但是在这两个人之中只有一个人真正了</div> </li> <li><a href="/article/3789.htm" title="关于<c:out value=""/>标签输出html标签" target="_blank">关于<c:out value=""/>标签输出html标签</a> <span class="text-muted">xshdch</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>http://back-888888.iteye.com/blog/1181202 关于<c:out value=""/>标签的使用,其中有一个属性是escapeXml默认是true(将html标签当做转移字符,直接显示不在浏览器上面进行解析),当设置escapeXml属性值为false的时候就是不过滤xml,这样就能在浏览器上解析html标签, &nb</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>