测试用例编写(功能测试框架)

测试用例的编写需要按照一定的思路进行,而不是想到哪写到哪,一般测试机制成熟的公司都会有公司自己自定义的测试用例模板,以及一整套的测试流程关注点,当然我们自己在测试生涯中也应当积累一套自己的测试框架,所有功能性的测试都可以依据框架的思路来进行,达到事半功倍的效果。

功能测试框架可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试等等。


 

1.1.1 界面友好性测试

1. 风格、样式、颜色是否协调
2. 界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条
3. 界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)
4. 操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)
5. 提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等)
6. 界面中各个控件是否对齐
7. 日期控件是否可编辑
8. 日期控件的长度是否合理,以修改时可以把时间全部显示出来为准
9. 查询结果列表列宽是否合理、标签描述是否合理
10. 查询结果列表太宽没有横向滚动提示
11. 对于信息比较长的文本,文本框有没有提供自动竖直滚动条
12. 数据录入控件是否方便
13. 有没有支持Tab键,键的顺序要有条理,不乱跳
14. 有没有提供相关的热键
15. 控件的提示语描述是否正确
16. 模块调用是否统一,相同的模块是否调用同一个界面
17. 用滚动条移动页面时,页面的控件是否显示正常
18. 日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX
19. 页面是否有多余按钮或标签
20. 窗口标题或图标是否与菜单栏的统一
21. 窗口的最大化、最小化是否能正确切换
22. 对于正常的功能,用户可以不必阅读用户手册就能使用
23. 执行风险操作时,有确认、删除等提示吗
24. 操作顺序是否合理
25. 正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
26. 系统应该在用户执行错误的操作之前提出警告,提示信息.
27. 页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
28. 合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
29. 检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。

30. 背景灰度冻结

 

1.1.2 功能测试

1. 使用所有默认值进行测试

2. 根据所有产品文档、帮助文档中描述的内容要进行遍历测试

3. 输入判断

4. 所有界面出现是和否的逻辑,要测试

5. 异常处理

6. 敏感词

7. 根据需求文档的流程图遍历所有流程图路径

8. 根据程序内容,遍历if elif else switch的逻辑点要遍历

9. 界面各种控件测试

 

如对于输入框测试:

一、字符型输入框:

1. 字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。

2. 长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。

3. 空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格

4. 多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)、

5. 安全性检查:输入特殊字符串

(null,NULL,,javascript,,,<html>,<td>)、输入脚本函数(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)</p> <p> </p> <p>二、数值型输入框:</p> <p>1. 边界值:最大值、最小值、最大值+1、最小值-1</p> <p>2. 位数:最小位数、最大位数、最小位数-1最大位数+1、输入超长值、输入整数</p> <p>3.异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、</p> <p>输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、</p> <p>4. 安全性检查:不能直接输入就copy</p> <p> </p> <p>三、日期型输入框:</p> <p>1. 合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13]</p> <p>考虑开始日期与结束日历的比较,特别是在查询的时候.</p> <p>2. 异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符</p> <p>3. 安全性检查:不能直接输入,就copy,是否数据检验出错?</p> <p> </p> <p>1.1.3 业务流程测试(主要功能测试)</p> <p>业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。</p> <p>如某一功能模块具有最基本的增删改查功能,则需要进行以下测试:</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>9. 修改——>删除——>增加(新增加的内容与删除内容一致)</p> <p>10. 删除——>删除——>删除(连续删除测试)</p> <p> </p> <p>1.1.4 链接测试</p> <p>主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。<br> 可以使用特定的工具如XENU来进行链接测试。</p> <p> </p> <p>1.1.5 容错测试</p> <p>1. 输入系统不允许的数据作为输入</p> <p>2. 把某个相关模块或者子系统停掉,验证对当前系统的影响</p> <p>3. 配置文件删除或者配置错误</p> <p>4. 数据库注入错误数据</p> <p> </p> <p>1.1.6 稳定性测试</p> <p>1. 系统不间断运行(7*24),验证是否内存泄露、系统其他资源是否存在泄露</p> <p>2. 如果很紧急上线,可以跑一晚上或者周末跑两天。</p> <p>一般压力很大的情况下,数据库连接数问题、内存泄露问题会曝露的比较快但是死锁可能不能体现,所以要看系统重要性,如12306稳定性则最好7*24小时</p> <p> </p> <p>1.1.7 常规性能测试</p> <p>1. 连接速度测试<br> 用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。<br> 另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。<br><br> 2. 负载测试<br> 负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?<br><br> 3. 压力测试<br> 负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。<br> 进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。<br> 压力测试的区域包括表单、登陆和其他信息传输页面等</p> <p> </p> <p>1.1.8 易用性测试</p> <p>1. 系统界面的控件是否可以通过tab键遍历,并且顺序合理</p> <p>2. 主要功能的入口和操作是否易于理解</p> <p>3. 界面是否布局合理,功能是否易于查找和使用</p> <p>4. 操作步骤</p> <p>5. 操作习惯</p> <p>6. 有足够的提示信息,且信息文字描述准确</p> <p> </p> <p>1.1.9 兼容性测试</p> <p>兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,<br> 包括操作系统兼容和应用软件兼容,可能还包括硬件兼容<br> 比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。</p> <p> </p> <p>除了上面所说的这些测试以外,还有算法测试、配置测试、安全性测试等等,在工作中不断总结和分析,形成自己的功能测试框架,当你把这份工作做起来以后,对于你自己对于测试团队而言都是一份很有价值的事情,你的测试思路也会变得更全面。</p> <p> </p> <p> </p> <p> </p> <p><strong>一、文本框为字符型</strong><br>   必填项非空校验:<br>   1、必填项未输入--程序应提示错误;<br>   2、必填项只输入若干个空格,未输入其它字符--程序应提示错误;<br>   字段唯一性校验:(不是所有字段都作此项校验,视实际项目情况而定)<br>   1、新增时输入重复的字段值--必须提示友好信息;  <br>   2、修改时输入重复的字段值--必须提示友好信息;<br>   字段长度校验:  <br>   输入[最小字符数-1]--程序应提示错误;   <br>   输入[最小字符数]--OK;  <br>   3、输入[最小字符数+1]--程序应提示错误;  <br>   4、输入[最大字符数-1]--OK;<br>   5、输入[最大字符数]--OK;   <br>   输入[最大字符数+1]--程序应提示错误;<br>   ?字段为特殊字符校验:<br>   1、输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好 ;   <br>   2、中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合 ;<br>   3、所有特殊字符都必须进行测试<br>   ?字段为特殊代码校验:   <br>   输入htm代码:比如” <font>你好</font>”;--必须以文本的形式将代码显示出来。     <br>   2、输入JavaScript代码:比如<param name=“MovieWindowWidth” value=“320”>;--必须以文本的形式将代码显示出来。<br>   多行文本框输入:   <br>   1、是否允许回车换行 ;<br>   2、保存后再显示能够保持输入时的格式 ;    <br>   3、仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 ;<br>   4、仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 。<br><strong>  二、文本框为数值型</strong><br>   边界值:<br>   1、输入[最小值-1]--程序应提示错误;<br>   2、输入[最小值]--OK;<br>   3、输入[最大值]--OK;<br>   4、输入[最大值+1]--程序应提示错误;<br>   位数:<br>   1、输入[限制位数]--OK;<br>   2、输入[限制位数+1]--根据实际项目而定,是否自动四舍五入成限制位数,还是提示信息;<br>   3、输入[限制位数-1]--OK;<br>   ?异常值、特殊值:<br>   1、输入非数值型数据:汉字、字母、字符--程序应提示错误;<br>   2、输入负数--根据实际项目而定,如果不允许输入负数,必须提示友好信息;<br>   3、字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 ;<br>   4、全角数字和半角数字的情况--全角数字不能保存,提示友好信息,半角数字正常保存;<br>   5、首位为零的数值:如01=1--视实际项目情况而定;<br><strong>  三、文本框为日期型</strong><br>   合法性检查:<br>   1、日输入[0日]--程序应提示错误;<br>   2、日输入[1日]--OK;<br>   3、日输入[32日]--程序应提示错误;<br>   4、月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;<br>   5、月输入[4、6、9、11月]、日输入[30日]--OK;<br>   6、月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;<br>   7、输入非闰年,月输入[2月]、日输入[28日],比如2009.2.28--OK;<br>   8、输入非闰年,月输入[2月]、日输入[29日],比如2009.2.29--程序应提示错误<br>   9、(闰年)月输入[2月]、日输入[29日],比如2008.2.29--OK;<br>   10、(闰年)月输入[2月]、日输入[30日],比如2008.2.30--程序应提示错误;<br>   11、月输入[0月]--程序应提示错误;<br>   12、月输入[1月]--OK;<br>   13、月输入[12月]--OK;<br>   14、月输入[13月] --程序应提示错误;<br>   格式检查:<br>   1、不合法格式:2009-09、 2009-09 -、200-2-2;<br>   2、视具体项目而定是否合法:2009/09/01、2009.09.01 、20090901、2009-09-01 ;<br>   异常值、特殊值:<br>   1、输入汉字、字母、字符--程序应提示错误;<br>   四、文本框为时间型<br>   合法性检查:<br>   1、时输入[24时] --程序应提示错误;<br>   2、时输入[00时] --OK;<br>   3、分输入[60分] --程序应提示错误;<br>   4、分输入[59分] --OK;<br>   5、分输入[00分] --OK;<br>   6、秒输入[60秒] --程序应提示错误;<br>   7、秒输入[59秒] --OK;<br>   8、秒输入[00秒] --OK;<br>   格式检查:<br>   不合法格式:12:30:、 123000;<br>   2、视具体项目而定是否合法:12:30、 1:3:0;<br>   异常值、特殊值:<br>   1、输入汉字、字母、字符--程序应提示错误;<br>   2、系统中所涉及时间是否取服务器时间;<br>   页功能我们常碰到的一般有以下几个功能:<br>   1、首页、上一页、下一页、尾页。<br>   2、总页数,当前页数<br>   3、指定跳转页<br>   4、指定每页显示条数<br>   当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件。本文暂且用以上四点来做为通用的用例来设计吧。<br>   对于“首页、上一页、下一页、尾页”。翻页链接或按钮的测试,主要要检查的测试点有:<br>   1、有无数据时控件的显示情况<br>   2、在首页时,首页和上一页是否能点击<br>   3、在尾页时,下一页和尾页是否能点击<br>   4、在非首页和非尾页时,四个按钮功能是否正确<br>   5、翻页后,列表中的记录是否仍按照指定的排序列进行了排序<br>   对于“总页数,当前页数总页数,当前页数”,主要要检查的测试点有:<br>   1、总页数是否等于总的记录数/指定每页条数<br>   2、当前页数是否正确<br>   针对以上测试用例如下:<br>   step 1: 列表无记录<br>   expect: 1、四个翻页控件变灰不可点击<br>   2、列表有相应的无数据信息提示<br>   3、不可指定页数<br>   4、不可指定跳转页<br>   5、总页数显示为0<br>   6、当前页数显示为0<br>   step 2: 列表的记录数<=指定的每页显示条数<br>   expect: 1、四个翻页控件变灰不可点击<br>   2、总页数显示为1<br>   3、当前页数显示为1<br>   step 3: 列表的记录数>指定的每页显示条数<br>   expect: 1、默认在首页,当前页数为1             <br>   2、列表的数据按照指定的排序列正确排序<br>   3、记录数与数据库相符<br>   4、总页数=记录数/指定的每页显示条数<br>   step 4: 列表的记录数>指定的每页显示条数,在首页<br>   expect: 1、首页变灰不可点击<br>   2、上一页变灰不可点击<br>   3、下一页可点击,从(每页指定条数+1)条记录开始显示,当前页数+1<br>   4、尾页可点击,显示最后页的记录<br>   step 5: 列表的记录数>指定的每页显示条数,在中间的某页<br>   expect: 1、首页可点击,显示1到每页指定条数的记录<br>   2、上一页可点击,显示上一页的记录<br>   3、下一页可点击,从后一页的记录<br>   4、尾页可点击,显示最后页的记录<br>   5、列表的数据按照指定的排序列正确排序<br>   6、当前页数为所在页<br>   step 6:列表的记录数>指定的每页显示条数,在尾页<br>   expect: 1、首页可点击,显示1到每页指定条数的记录<br>   2、上一页可点击,显示上一页的记录<br>   3、下一页变灰不可点击<br>   4、尾页变灰不可点击<br>   5、列表的数据按照指定的排序列正确排序<br>   6、当前页数为最后一页的页数<br>   对于“指定跳转页”,主要要检查的测试点有:<br>   1、是否能正常跳转到指定的页数<br>   2、输入的跳转页数非法时的处理<br>   对于“指定每页显示条数”,主要要检查的测试点有:<br>   1、是否有默认的指定每页显示条数<br>   2、指定每页的条数后,列表显示的记录数,页数是否正确<br>   3、输入的每页条数非法时的处理<br>   针对以上测试用例如下:<br>   step 7:输入每页显示条数为小于总记录的正整数<br>   expect: 1、每页显示条数更新成指定的条数<br>   2、超过指定的条数的记录分页显示<br>   3、总页数更新成列表的记录数/每页显示条数<br>   step 8:输入每页显示条数为0、负数、小数<br>   expect: 1、提示“每页显示条数必须为大于1的整数”<br>   2、提示后每页显示条数恢复为上次生效的条数<br>   step 9:输入每页显示条数大于或等于总记录数的正整数时<br>   expect: 1、四个翻页按钮变灰不可点击<br>   2、总页数显示为1<br>   3、当前页数显示为1<br>   step 10:输入每页显示条数长度超过数据库指定的长度<<<maxlen>>><br>   expect: 1、提示每页显示条数不能超过<<<maxlen>>>位<br>   2、提示后每页显示条数恢复为上次生效的条数<br>   step 11:输入每页显示条数为非数值、非法值时<br>   expect: 1、提示每页显示条数必须为大于1的整数<br>   2、提示后每页显示条数恢复为上次生效的条数<br>   step 12:输入跳转的页数为存在的页数<br>   expect: 1、正确跳转到指定的页数<br>   step 13:输入跳转的页数不存在或非法值<br>   expect: 1、跳转的页数值置为1,显示第一页的数据</p> <p>1:易用性:<br>   按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。<br>   易用性细则:<br>   1):完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。<br>   2):完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。<br>   3):按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。<br>   4):界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。<br>   5):界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。<br>   6):同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。<br>   7):分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab<br>   8):默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。<br>   9):可写控件检测到非法输入后应给出说明并能自动获得焦点。<br>   10):Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。<br>   11):复选框和选项框按选择几率的高底而先后排列。<br>   12):复选框和选项框要有默认选项,并支持Tab选择。<br>   13):选项数相同时多用选项框而不用下拉列表框。<br>   14):界面空间较小时使用下拉框而不用选项框。<br>   15):选项数叫少时使用选项框,相反使用下拉列表框。<br>   16):专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。<br>   2: 规范性:<br>   通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具厢、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。小型软件一般不提供工具厢。<br>   规范性细则:<br>   1):常用菜单要有命令快捷方式。<br>   2):完成相同或相近功能的菜单用横线隔开放在同一位置。<br>   3):菜单前的图标能直观的代表要完成的操作。<br>   4):菜单深度一般要求最多控制在三层以内。<br>   5):工具栏要求可以根据用户的要求自己选择定制。<br>   6):相同或相近功能的工具栏放在一起。<br>   7):工具栏中的每一个按钮要有及时提示信息。<br>   8):一条工具栏的长度最长不能超出屏幕宽度。<br>   9): 工具栏的图标能直观的代表要完成的操作。<br>   10):系统常用的工具栏设置默认放置位置。<br>   11):工具栏太多时可以考虑使用工具厢。<br>   12):工具厢要具有可增减性,由用户自己根据需求定制。<br>   13):工具厢的默认总宽度不要超过屏幕宽度的1/5。<br>   14): 状态条要能显示用户切实需要的信息,常用的有:<br>   目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示。<br>   15):滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。<br>   16):状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。<br>   17):菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感。<br>   18):菜单和状态条中通常使用5号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。<br>   19):右键快捷菜单采用与菜单相同的准则。<br>   3:帮助设施:<br>   系统应该提供详尽而可靠的帮助文档,在用户使用产生迷惑时可以自己寻求解决方法。<br>   帮助设施细则:<br>   1):帮助文档中的性能介绍与说明要与系统性能配套一致。(我们的系统帮助文档都是系统的祖先时期的说明,让人困惑)。<br>   2):打包新系统时,对作了修改的地方在帮助文档中要做相应的修改。<br>   3):操作时要提供及时调用系统帮助的功能。常用F1。<br>   4):在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置。也就是说帮助要有即时针对性。<br>   5):最好提供目前流行的联机帮助格式或HTML帮助格式。<br>   6):用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词。<br>   7):如果没有提供书面的帮助文档的话,最好有打印帮助的功能。<br>   8 ):在帮助中应该提供我们的技术支持方式,一旦用户难以自己解决可以方便的寻求新的帮助方式。<br>   4:合理性:<br>   屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。<br>   合理性细则:<br>   1):父窗体或主窗体的中心位置应该在对角线焦点附近。<br>   2):子窗体位置应该在主窗体的左上角或正中。<br>   3):多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。<br>   4):重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。<br>   5):错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为易点位置。<br>   6):与正在进行的操作无关的按钮应该加以屏蔽(Windows中用灰色显示,没法使用该按钮)。<br>   7):对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。<br>   8):非法的输入或操作应有足够的提示说明。<br>   9): 对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待。<br>   10):提示、警告、或错误说明应该清楚、明了、恰当。<br>   5:美观与协调性:<br>   界面应该大小适合美学观点,感觉协调舒适,能在有效的范围内吸引用户的注意力。<br>   美观与协调性细则:<br>   1): 长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。<br>   2): 布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。<br>   3): 按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。<br>   4): 按钮的大小要与界面的大小和空间要协调。<br>   5): 避免空旷的界面上放置很大的按钮。<br>   6):放置完控件后界面不应有很大的空缺位置。<br>   7): 字体的大小要与界面的大小比例协调, 通常使用的字体中宋体9-12较为美观,很少使用超过12号的字体。<br>   8): 前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。常用色考虑使用Windows界面色调。<br>   9): 如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色。<br>   10): 大型系统常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。<br>   11): 界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。<br>   12): 如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。<br>   13):对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。<br>   14): 通常父窗体支持缩放时,子窗体没有必要缩放。<br>   15):如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等。<br>   6:菜单位置:<br>   菜单是界面上最重要的元素,菜单位置按照按功能来组织。<br>   菜单设测试细则:<br>   1):菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows风格。<br>   2):常用的有“文件”、“编辑”,“查看”等,几乎每个系统都有这些选项,当然要根据不同的系统有所取舍。<br>   3):下拉菜单要根据菜单选项的含义进行分组,并切按照一定的规则进行排列,用横线隔开。<br>   4): 一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。<br>   5): 没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头, 不常用的靠后放置;重要的放在开头,次要的放在后边。<br>   6): 如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。<br>   7): 菜单深度一般要求最多控制在三层以内。<br>   8): 对常用的菜单要有快捷命令方式,组合原则见8。<br>   9):对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式——即只有需要的菜单才显示——最好。<br>   10):菜单前的图标不宜太大,与字高保持一直最好。<br>   11):主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。<br>   12):主菜单数目不应太多,最好为单排布置。</p> <p>7:独特性:<br>   如果一味的遵循业界的界面标准,则会丧失自己的个性.在框架符合以上规范的情况下,设计具有自己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用。<br>   1):安装界面上应有单位介绍或产品介绍,并有自己的图标。<br>   2):主界面,最好是大多数界面上要有公司图标。<br>   3):登录界面上要有本产品的标志,同时包含公司图标。<br>   4):帮助菜单的“关于”中应有版权和产品信息。<br>   5):公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。<br>   8:快捷方式的组合<br>   在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些 在西文Windows及其应用软件中快捷键的使用大多是一致的。<br>   菜单中:<br>   1):面向事务的组合有:<br>   Ctrl-D 删除 ;Ctrl-F 寻找 ;Ctrl –H替换;Ctrl-I 插入 ;Ctrl-N 新记录 ;Ctrl-S 保存 Ctrl-O 打开。<br>   2):列表:<br>   Ctrl-R ,Ctrl-G定位;Ctrl-Tab下一分页窗口或反序浏览同一页面控件;。<br>   3):编辑:<br>   Ctrl-A全选;Ctrl-C 拷贝;Ctrl-V 粘贴;Ctrl-X 剪切;Ctrl-Z撤消操作;Ctrl-Y恢复操作。<br>   4)文件操作:<br>   Ctrl-P 打印;Ctrl-W 关闭。<br>   5):系统菜单<br>   Alt-A文件;Alt-E编辑;Alt-T工具;Alt-W窗口;Alt-H帮助。<br>   6):MS Windows保留键:<br>   Ctrl-Esc 任务列表 ;Ctrl-F4 关闭窗口; Alt-F4 结束应用;Alt-Tab 下一应用 ;Enter 缺省按钮/确认操作 ;Esc 取消按钮/取消操作 ;Shift-F1 上下文相关帮助 。<br>   按钮中:<br>   可以根据系统需要而调节,以下只是常用的组合。<br>   Alt-Y确定(是);Alt-C取消;Alt-N 否;Alt-D删除;Alt-Q退出;Alt-A添加;Alt-E编辑;Alt-B浏览;Alt-R读;Alt-W写。<br>   这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母。<br>   9:安全性考虑:<br>   在界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏。开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。如应用出现保护性错误而退出系统,这种错误最容易使用户对软件失去信心。因为这意味着用户要中断思路,并费时费力地重新登录,而且已进行的操作也会因没有存盘而全部丢失。<br>   安全性细则:<br>   1):最重要的是排除可能会使应用非正常中止的错误。<br>   2):应当注意尽可能避免用户无意录入无效的数据。<br>   3):采用相关控件限制用户输入值的种类。<br>   4):当用户作出选择的可能性只有两个时,可以采用单选框。<br>   5):当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无效的选择。<br>   6):当选项特别多时,可以采用列表框,下拉式列表框。<br>   7):在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作。<br>   8):对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。<br>   9):对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。<br>   10):对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。<br>   11):对错误操作最好支持可逆性处理,如取消系列操作。<br>   12):在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。<br>   13):对可能造成等待时间较长的操作应该提供取消功能。<br>   14):特殊字符常有;;’”><,`‘:“[”{、/|}]+=)-(_*&&^%$#@!~,.。?/还有空格。<br>   15):与系统采用的保留字符冲突的要加以限制。<br>   16):在读入用户所输入的信息时,根据需要选择是否去掉前后空格。<br>   17):有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以处理。<br>   10:多窗口的应用与系统资源:<br>   设计良好的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。<br>   1): 在多窗口系统中,有些界面要求必须保持在最顶层,避免用户在打开多个窗口时,不停的切换甚至最小化其他窗口来显示该窗口。<br>   2):在主界面载入完毕后自动卸出内存,让出所占用的WINDOWS系统资源。<br>   3):关闭所有窗体,系统退出后要释放所占的所有系统资源 ,除非是需要后台运行的系统。<br>   4):尽量防止对系统的独占使用。<br>   1.输入验证 输入验证主要包括:数字输入验证、非法字符输入验证、输入长度验证、必填项验证和信息提示 1.数字输入验证:分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值。不合法的输入,系统给出必要的判断提示信息<br>   2.字符输入验证:分别输入单字节字符、双字节字符、大小写字符、特殊字符、空白值、空值。不合法的输入,系统给出必要的判断提示信息<br>   3.日期、时间输入验证:分别输入任意字符、任意数字、非日期格式的数据、非正确日期(错误的闰年日期)、空值、空白值。不合法的输入,系统给出必要的判断提示信息。注:有些系统会不让输入当日以后或者以前的日期、时间;有些系统会通过JavaScript来自动填写日期时间,这时需要注意是否能否人工主观填写输入<br>   4.多列表选择框:测试是否能否多选,列表框中的数据是否能否显示完全。当列表框的数据过多时,需要对数据有一定格式的排序<br>   5.单列表下拉框:测试是否能否手工输入,下拉框中的数据是否能否显示完整。当下拉框的数据很多时,需要对数据有一定格式的排序。如果下拉框数据值过多时,下拉框可能会超出IE显示范围,此种情况不能够被接收<br>   6.大文本输入框(textArea):虽然它能够满足大数据量的输入,但最好能够显示地标明输入字符的长度限制,并且应该结合“字符输入验证”进行。需要注意的是,应该允许标点的存在<br>   7.文件输入框输入验证:该输入框主要用做文件上传操作。在测试过程中,应该注意输入文件的扩展名。从测试角度来看,要求开发人员必须对扩展名进行输入限制,并且在适当的地方输入格式提示。当输入是空值等不合法的输入时,系统给出必要的判断提示信息。另外,对于上传的文件大小应该做限制,不宜太大<br>   8.输入字符长度验证:输入字符的长度是否超过实际系统接收字符长度的能力。当输入超出长度时,系统给出必要的判断提示信息<br>   9.必填项验证:输入不允许为空的时候,系统需要有提示用户输入信息功能<br>   10.格式、规则输入验证:当输入需要一定的格式时,系统需要有提示用户输入信息功能。比如身份证号码可以输入18位或者15位,部分身份证最后一位为字母,身份证上生日与身份证号码有一定规则。</p> <p>11.系统错误定位的输入验证:当输入存在问题时,被系统捕获到,此时页面上的光标能够定位到发生错误的输入框<br>   12.单选框、多选框的输入验证:单选框需要依次验证单选框的值是否都有效;多选框需要依次验证多选框的值是否都有效 13.验证码验证:做验证码输入验证时,先结合“字符输入验证”进行测试,然后注意的地方是,当利用IE回退或者刷新时,显示的验证码应该和实际系统验证码一致。如果验证码以图片形式显示,但图片由于其他原因(如网络)不能看到或者显示不完整,系统应该允许进行重新获取,最好不要做整个页面刷新 2.操作验证(CZ) 该用例库主要针对页面操作<br>   1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确<br>   2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确<br>   3.检查按钮的功能是否正确:如增、删、改、查等功能是否正确<br>   4.重复提交表单:一条已经成功提交的记录,用IE回退后再提交,看看系统是否做了处理<br>   5.多次IE回退:检查多次使用IE回退的情况,在有回退的地方,回退,回到原来页面,再回退,重复多次,看是否出错<br>   6.快捷键检查:是否支持常用快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段,如选人、选日期对快捷方式是否也做了限制<br>   7.回车键检查:在输入结束后直接回车键,看系统处理如何,能否报错<br>   8.上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开,对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能否做到<br>   9.其他验证:在页面上图片的大小不宜太大,需要第三方软件支持时,应该给出必要的信息,比如需要jre的支持,但用户机器还没有安装jre,那么此时在页面上应该有显著的标志来提醒用户进行安装<br>   3.登录模块测试用例 该用例库主要针对登录模块。需要结合“访问控制验证(FWKZYZ)”用例库 1.登录名输入:进行“输入验证”。需要注意登录名是否区分大小写和空格<br>   2.密码输入:进行“输入验证”<br>   3.提交操作:结合“访问空值验证(FWKZYZ)”。当输入正确的登录名和密码后,该用户能够进入到指定的正确页面。当输入的登录名和密码有误时,系统限制其登录,并且给出适当的提示信息。当遇到错误时,应该进行“错误页面测试”<br>   4.重设操作:当进行重设操作时,当前页面上所有输入项被清空<br>   4.增加操作测试用例(ZJ) 该用例库主要针对增加操作<br>   1.添加输入内容,进行“输入验证” 2.应该限制重复增加,具体操作:利用网络传输以及服务器的延迟,多次单击“增加”按钮,经常在数据库发现重复提交的数据 3.当增加成功或者失败后,应该有必要的信息提示 4.文件数据的增加:有些增加包含了数据库数据的增加,和一些文件的增加,此时的数据会保存在两个地方,所以测试时,需要对相关的数据做全面的验证 5.文件数据验证:进行“输入验证”值“文件输入框输入验证”。注意:当上传的文件为中文文件名时,上传到服务器后,可能会出现乱码现象。现在一般的做法是将原文件名替换成字母和数字的组合,以克服汉字文件名的弊端,另外,可以增加文件的安全性 5.删除操作测试用例(SC) 该用例库主要针对删除操作<br>   1.选择需要删除的数据字段。有时候系统会根据ID来删除,有时候系统会根据名称来删除,测试的时候应该多注意,一般要求按照ID来删除,因为根据名称来删除,名称可能会存在重名问题 2.应该限制重复删除。具体操作:利用网络传输以及服务器的延迟,多次单击“删除”按钮,经常在数据库中发现重复提交的数据 3.当删除的数据还有文件时,西药去验证存在数据库中的数据,以及硬盘下的文件是否都被同时删除 4.当数据被删除成功或者失败后,要有响应的信息提示 5.进行“操作验证” 6.修改操作测试用例(XG) 该用例库主要针对修改操作<br>   1.打开需要修改的数据页面,注意与增加页面相比,只能修改部分数值,例如关键字等是不能被修改的,并且二者数据应该是一致的 2.增加页面上的输入限制与修改页面的输入限制应该一致 3.修改成功或者失败后,应该有相应的信息提示 7.查询操作测试用例(CX) 该用例库主要针对查询操作<br>   1.条件输入查询,先进行条件输入框的“输入验证” 2.条件组合查询,将多个条件进行组合查询,结果可以通过数据库验证。需要注意的是,整个数据查询和条件查询数据结果条数要一致,另外,如果遇到某天的查询时间段,有的数据库认为一天不包括零点零分,有的数据库认为包括 3.所有查询结果,必须进行一定顺序的排列,可以按照ID或按照名称来排列 4.当查询成功或者失败后,系统应给出必要的信息提示<br>   8.翻页操作测试用例(FY) 该用例库主要针对翻页操作<br>   1.当数据量很大的时候,需要进行分页显示,每页显示的行数最好不要超过20行,每页列表上最好有序号标识,行与行之间颜色要有一定区分,这样有利于用户的查找<br>   2.翻页按钮应该包括:首页、前一页、后一页、尾页、当前X页、共X页,这些常用按钮和显示,并且按钮都能正常翻页<br>   3.翻页按钮的每页显示的数据要准确,确保没有查不出来的数据,最好的做法就是和数据库结合起来验证<br>   4.页面太多,翻页数据不能全部显示时,系统应该有完善的应对机制,比如值显示当前页的前三页和该页的后三页的页数码 5.当翻到某页时,系统应该有明显的标识,标出该页面所处的页码<br>   9.错误页面测试(CW) 错误页面是在遇到系统异常的情况产生的友好界面<br>   1.当系统遇到致命错误时,不能将服务器的调试信息出现在页面上,因为这样做会带来不安全,应该给出一个合适的提示信息</p> <p>  2.由于系统繁忙,无法及时给出正确信息时,系统可以给出友好的错误页面,如:“请用户稍后再试”等提示信息</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1712211131336044544"></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/1835497284750635008.htm" title="如何部分格式化提示模板:LangChain中的高级技巧" target="_blank">如何部分格式化提示模板:LangChain中的高级技巧</a> <span class="text-muted">nseejrukjhad</span> <a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</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/python/1.htm">python</a> <div>标题:如何部分格式化提示模板:LangChain中的高级技巧内容:如何部分格式化提示模板:LangChain中的高级技巧引言在使用大型语言模型(LLM)时,提示工程是一个关键环节。LangChain提供了强大的提示模板功能,让我们能更灵活地构建和管理提示。本文将介绍LangChain中一个高级特性-部分格式化提示模板,这个技巧可以让你的提示管理更加高效和灵活。什么是部分格式化提示模板?部分格式化提</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/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/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/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/1835461350327939072.htm" title="系统架构设计师 需求分析篇二" target="_blank">系统架构设计师 需求分析篇二</a> <span class="text-muted">AmHardy</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%B8%88/1.htm">软件架构设计师</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E9%9C%80%E6%B1%82%E5%88%86%E6%9E%90/1.htm">需求分析</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%88%86%E6%9E%90/1.htm">面向对象分析</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E6%9E%90%E6%A8%A1%E5%9E%8B/1.htm">分析模型</a><a class="tag" taget="_blank" href="/search/UML%E5%92%8CSysML/1.htm">UML和SysML</a> <div>面向对象分析方法1.用例模型构建用例模型一般需要经历4个阶段:识别参与者:识别与系统交互的所有事物。合并需求获得用例:将需求分配给予其相关的参与者。细化用例描述:详细描述每个用例的功能。调整用例模型:优化用例之间的关系和结构,前三个阶段是必需的。2.用例图的三元素参与者:使用系统的用户或其他外部系统和设备。用例:系统所提供的服务。通信关联:参与者和用例之间的关系,或用例与用例之间的关系。3.识别参</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/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/1835431727397433344.htm" title="进销存小程序源码 PHP网络版ERP进销存管理系统 全开源可二开" target="_blank">进销存小程序源码 PHP网络版ERP进销存管理系统 全开源可二开</a> <span class="text-muted">摸鱼小号</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>可直接源码搭建部署发布后使用:一、功能模块介绍该系统模板主要有进,销,存三个主要模板功能组成,下面将介绍各模块所对应的功能;进:需要将产品采购入库,自动生成采购明细台账同时关联财务生成付款账单;销:是指对客户的销售订单记录,汇总生成产品销售明细及回款计划;存:库存的日常盘点与统计,库存下限预警、出入库台账、库存位置等。1.进购管理采购订单:采购下单审批→由上级审批通过采购入库;采购入库:货品到货></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/1835413694436175872.htm" title="【算法练习】IDEA集成leetcode插件实现快速刷" target="_blank">【算法练习】IDEA集成leetcode插件实现快速刷</a> <span class="text-muted">2401_84102892</span> <a class="tag" taget="_blank" href="/search/2024%E5%B9%B4%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AD%A6%E4%B9%A0/1.htm">2024年程序员学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/intellij-idea/1.htm">intellij-idea</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a> <div>============点击右侧边leetcode->设置->配置地址、用户名、密码、存放目录、文件模板用户名要登录后在账号信息里看模板代码1.codefilename!velocityTool.camelC</div> </li> <li><a href="/article/1835401975269781504.htm" title="vue render 函数详解 (配参数详解)" target="_blank">vue render 函数详解 (配参数详解)</a> <span class="text-muted">你的眼睛會笑</span> <a class="tag" taget="_blank" href="/search/vue2/1.htm">vue2</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>vuerender函数详解(配参数详解)在Vue3中,`render`函数被用来代替Vue2中的模板语法。它接收一个h函数(或者是`createElement`函数的别名),并且返回一个虚拟DOM。render函数的语法结构如下:render(h){returnh('div',{class:'container'},'Hello,World!')}在上面的示例中,我们使用h函数创建了一个div元素</div> </li> <li><a href="/article/1835383791615569920.htm" title="Sissi书单|《每天刷本书》365天不间断阅读第28天" target="_blank">Sissi书单|《每天刷本书》365天不间断阅读第28天</a> <span class="text-muted">每天刷的sissi</span> <div>以前我是一个不太会和自己对话的人,但是后来经历得多了,就慢慢变得喜欢自省起来。喜欢通过做各种测试题来更好的了解自己。测出来什么点,我觉得需要改善,就会到处去找调整的方法。这本书就是我在找方法的时候看到的,看的过程中除了觉得有用,还是觉得有用,非常推荐阅读!</div> </li> <li><a href="/article/1835379533587509248.htm" title="ansible的安装、使用" target="_blank">ansible的安装、使用</a> <span class="text-muted">ytym00</span> <div>简介高度模块化,调用特定的模块,完成特定的任务,基于Yaml,来完成批量任务的模板化,来支持playbook。基于Python语言实现,主要使用Paramiko、PyYAML和JinJa2三个关键模块,部署简单(agentless),主从模式,支持自定义模块,支持playbook,幂等性:允许重复执行N次,没有变化时,只会执行第一次。特点:1、Configuration(cfengine,chef</div> </li> <li><a href="/article/1835371459258707968.htm" title="重载new,delete , RTTI,类成员指针" target="_blank">重载new,delete , RTTI,类成员指针</a> <span class="text-muted">森龙安</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> <div>重载new,delete执行过程重载new,delete和普通的运算符重载不同,并非重载new,delete的行为,而是改变内存分配的方式,将对象放置在特定的内存空间中new运算符操作:调用STL标准模板库的重载operatornew或operatornew[]函数,分配足够大的未命名内存运行相应构造函数返回指向对象的指针delete运算符操作:运行相应折构函数、调用STL标准模板库的重载oper</div> </li> <li><a href="/article/1835367123006877696.htm" title="macOs mojave 添加hp laserjet 1020 打印机方法。" target="_blank">macOs mojave 添加hp laserjet 1020 打印机方法。</a> <span class="text-muted">Coder_Zh</span> <div>1.设置--》打印机与扫描仪。2.点击“+”选择IP3.输入地址:(写网络IP),协议选择:hpjetdirect-socket4.使用选项:选择hplaserjet10221.6(没有1020的驱动,但是1022的驱动兼容1020可以使用。)测试OK,可以使用。</div> </li> <li><a href="/article/1835359345194397696.htm" title="接口测试如何设计测试用例" target="_blank">接口测试如何设计测试用例</a> <span class="text-muted">李蕴Ronnie</span> <div>接口测试用例设计方式针对每个必填参数,都设计一条参数为空的测试用例必填参数不存在传的参数值在数据库中不存在添加数据接口,传入已有的数据重复添加编辑数据接口,各个字段分别编辑,合并编辑参数数据类型限制,针对每个参数设计一条参数值类型不符合的逆向用例参数自身取值范围,针对所有参数,设计一条每个参数值在取值范围内最大值的正向测试用例是否满足前提条件(token、headers),几个前提条件几条用例针对</div> </li> <li><a href="/article/1835357347615174656.htm" title="【Death Note】网吧战神之7天爆肝渗透测试死亡笔记_sqlmap在默认情况下除了使用 char() 函数防止出现单引号" target="_blank">【Death Note】网吧战神之7天爆肝渗透测试死亡笔记_sqlmap在默认情况下除了使用 char() 函数防止出现单引号</a> <span class="text-muted">2401_84561374</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!特殊服务端口2181zookeeper服务未授权访问</div> </li> <li><a href="/article/1835354826595201024.htm" title="设计模式 23 访问者模式" target="_blank">设计模式 23 访问者模式</a> <span class="text-muted">WineMonk</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E8%80%85%E6%A8%A1%E5%BC%8F/1.htm">访问者模式</a> <div>设计模式23创建型模式(5):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式(7):适配器模式、桥接模式、组合模式、装饰者模式、外观模式、享元模式、代理模式行为型模式(11):责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式文章目录设计模式23访问者模式(VisitorPattern)1定义2结构3</div> </li> <li><a href="/article/1835349023540736000.htm" title="二十四、k8s 资源管理" target="_blank">二十四、k8s 资源管理</a> <span class="text-muted">繁华依在</span> <a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a> <div>目录一、资源配置范围管理LimitRange介绍1、LimitRange可以做什么:2、资源限制和请求的约束3、创建LimitsRange对象4、示例:创建一个pod5、测试用例测试1:测试2:测试3:二、资源服务质量管理(RequestsQos)1、Qos级别分类:1.1、Guaranteed:1.2、BestEffort:1.3、Burstable:2、Qos的工作特点3、示例三、资源配额管理</div> </li> <li><a href="/article/1835348897355100160.htm" title="保研日记--哈工大威海计算机学院" target="_blank">保研日记--哈工大威海计算机学院</a> <span class="text-muted">faaarii</span> <a class="tag" taget="_blank" href="/search/%E4%BF%9D%E7%A0%94/1.htm">保研</a> <div>传送门保研日记--中国海洋大学计算机系保研日记--中国人民大学信息学院(人大信院)保研日记--北京交通大学计算机学院保研材料模板(自我介绍,个人简历,个人陈述,推荐信)哈工大威海计算机学院这次夏令营给我的感觉非常的朴素,哈哈哈哈营员就有四个群,985/211、双一流、双非、四非??没有宣讲会、见面会,在面试开始之前放了一个简短的宣传片。(傲娇,绝对不整那些花里胡哨的哈哈哈)面试有三组老师,分别问你</div> </li> <li><a href="/article/1835347257772306432.htm" title="Kubernetes 自定义控制器开发" target="_blank">Kubernetes 自定义控制器开发</a> <span class="text-muted">IT回忆录</span> <a class="tag" taget="_blank" href="/search/Kubenetes/1.htm">Kubenetes</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a> <div>目录前言一、CRD二、创建数据库表(Mysql)二、控制器开发1.使用kubernetes的examplecontroller模板2.在controller.go中新增数据表监听方法3.修改tools工具生成资源对象结构体定义这里记录开发k8s控制器的一般方式,controller开发主要使用k8s提供的client-go库进行。前言Controller监听集群内部资源对象的变化,编辑资源对象(增</div> </li> <li><a href="/article/1835344483210850304.htm" title="自动化测试工程师面试,常问的问题有哪些?" target="_blank">自动化测试工程师面试,常问的问题有哪些?</a> <span class="text-muted">自动化测试 老司机</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E7%A8%8B%E5%B8%88/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/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</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/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E7%A8%8B%E5%B8%88/1.htm">测试工程师</a> <div>自动化测试工程师面试是非常重要的环节,面试官会通过一系列的问题来评估候选人的技能和经验。下面是一些常见的问题,以及如何详细而规范地回答这些问题的建议。1.请介绍一下你的自动化测试经验。回答这个问题时,可以从项目经验、使用的自动化测试工具、编写的测试脚本等方面来介绍自己的经验。重点强调你在自动化测试领域的技能和擅长的领域。2.你在自动化测试中使用的编程语言是什么?为什么选择这种语言?回答这个问题时,</div> </li> <li><a href="/article/1835339859099742208.htm" title="三角洲行动内测资格怎么获得 三角洲行动内测服怎么进入" target="_blank">三角洲行动内测资格怎么获得 三角洲行动内测服怎么进入</a> <span class="text-muted">会飞滴鱼儿</span> <div>手游内测资格怎么获得?这是每款新游戏开放内测的时候,玩家问的最多的一个问题,其实现在大多数游戏在上线之前官方都会开启几轮的内测测试,每轮测试之后,官方会收集全部运行过程中的数据,来进行优化和改进,至此这也是每款游戏的定律,但是有一个问题的就是,不管哪款游戏,开启测试的时候,名额都是有限的,经常都有很多玩家想要测试资格,却无论怎么也不会获得,本期小编就来给大家整理几个方法,让大家抢先一步!游戏内测资</div> </li> <li><a href="/article/118.htm" title="异常的核心类Throwable" target="_blank">异常的核心类Throwable</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/%E6%BA%90%E7%A0%81/1.htm">源码</a><a class="tag" taget="_blank" href="/search/%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86/1.htm">异常处理</a><a class="tag" taget="_blank" href="/search/exception/1.htm">exception</a> <div>java异常的核心是Throwable,其他的如Error和Exception都是继承的这个类 里面有个核心参数是detailMessage,记录异常信息,getMessage核心方法,获取这个参数的值,我们可以自己定义自己的异常类,去继承这个Exception就可以了,方法基本上,用父类的构造方法就OK,所以这么看异常是不是很easy package com.natsu; </div> </li> <li><a href="/article/245.htm" title="mongoDB 游标(cursor) 实现分页 迭代" target="_blank">mongoDB 游标(cursor) 实现分页 迭代</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>上篇中我们讲了mongoDB 中的查询函数,现在我们讲mongo中如何做分页查询      如何声明一个游标        var mycursor = db.user.find({_id:{$lte:5}});       迭代显示游标数</div> </li> <li><a href="/article/372.htm" title="MySQL数据库INNODB 表损坏修复处理过程" target="_blank">MySQL数据库INNODB 表损坏修复处理过程</a> <span class="text-muted">0624chenhong</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>最近mysql数据库经常死掉,用命令net stop mysql命令也无法停掉,关闭Tomcat的时候,出现Waiting for N instance(s) to be deallocated 信息。查了下,大概就是程序没有对数据库连接释放,导致Connection泄露了。因为用的是开元集成的平台,内部程序也不可能一下子给改掉的,就验证一下咯。启动Tomcat,用户登录系统,用netstat -</div> </li> <li><a href="/article/499.htm" title="剖析如何与设计人员沟通" target="_blank">剖析如何与设计人员沟通</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>最近做图烦死了,不停的改图,改图……。烦,倒不是因为改,而是反反复复的改,人都会死。很多需求人员不知该如何与设计人员沟通,不明白如何使设计人员知道他所要的效果,结果只能是沟通变成了扯淡,改图变成了应付。 那应该如何与设计人员沟通呢? 我认为设计人员与需求人员先天就存在语言障碍。对一个合格的设计人员来说,整天玩的都是点、线、面、配色,哪种构图看起来协调;哪种配色看起来合理心里跟明镜似的,</div> </li> <li><a href="/article/626.htm" title="qq空间刷评论工具" target="_blank">qq空间刷评论工具</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div> var a=document.getElementsByClassName('textinput'); var b=[]; for(var m=0;m<a.length;m++){ if(a[m].getAttribute('placeholder')!=null) b.push(a[m]) } var l</div> </li> <li><a href="/article/753.htm" title="S2SH整合之session" target="_blank">S2SH整合之session</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/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a> <div>错误信息: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cartService': Scope 'session' is not active for the current thread; consider defining a scoped</div> </li> <li><a href="/article/880.htm" title="xmp标签" target="_blank">xmp标签</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/%E6%A0%87%E7%AD%BE/1.htm">标签</a> <div>今天在处理数据的显示上遇到一个问题: var html = '<li><div class="pl-nr"><span class="user-name">' + user + '</span>' + text + '</div></li>'; ulComme</div> </li> <li><a href="/article/1007.htm" title="Ajax的常用技巧(2)---实现Web页面中的级联菜单" target="_blank">Ajax的常用技巧(2)---实现Web页面中的级联菜单</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a> <div>在网络上显示数据,往往只显示数据中的一部分信息,如文章标题,产品名称等。如果浏览器要查看所有信息,只需点击相关链接即可。在web技术中,可以采用级联菜单完成上述操作。根据用户的选择,动态展开,并显示出对应选项子菜单的内容。 在传统的web实现方式中,一般是在页面初始化时动态获取到服务端数据库中对应的所有子菜单中的信息,放置到页面中对应的位置,然后再结合CSS层叠样式表动态控制对应子菜单的显示或者隐</div> </li> <li><a href="/article/1134.htm" title="天-安-门,好高" target="_blank">天-安-门,好高</a> <span class="text-muted">atongyeye</span> <a class="tag" taget="_blank" href="/search/%E6%83%85%E6%84%9F/1.htm">情感</a> <div>    我是85后,北漂一族,之前房租1100,因为租房合同到期,再续,房租就要涨150。最近网上新闻,地铁也要涨价。算了一下,涨价之后,每次坐地铁由原来2块变成6块。仅坐地铁费用,一个月就要涨200。内心苦痛。     晚上躺在床上一个人想了很久,很久。        我生在农</div> </li> <li><a href="/article/1261.htm" title="android 动画" target="_blank">android 动画</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E9%80%8F%E6%98%8E%E5%BA%A6/1.htm">透明度</a><a class="tag" taget="_blank" href="/search/%E5%B9%B3%E7%A7%BB/1.htm">平移</a><a class="tag" taget="_blank" href="/search/%E7%BC%A9%E6%94%BE/1.htm">缩放</a><a class="tag" taget="_blank" href="/search/%E6%97%8B%E8%BD%AC/1.htm">旋转</a> <div>android的动画有两种  tween动画和Frame动画   tween动画;,透明度,缩放,旋转,平移效果   Animation   动画 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation 位置移动 Animation</div> </li> <li><a href="/article/1388.htm" title="查看本机网络信息的cmd脚本" target="_blank">查看本机网络信息的cmd脚本</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a> <div>@echo 您的用户名是:%USERDOMAIN%\%username%>"%userprofile%\网络参数.txt" @echo 您的机器名是:%COMPUTERNAME%>>"%userprofile%\网络参数.txt" @echo ___________________>>"%userprofile%\</div> </li> <li><a href="/article/1515.htm" title="plsql 清除登录过的用户" target="_blank">plsql 清除登录过的用户</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>tools---preferences----logon history---history  把你想要删除的删除 -------------------------------------------------------------------- 若有其他凝问或文中有错误,请及时向我指出, 我好及时改正,同时也让我们一起进步。 email : binary_spac</div> </li> <li><a href="/article/1642.htm" title="【Pig一】Pig入门" target="_blank">【Pig一】Pig入门</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/pig/1.htm">pig</a> <div>Pig安装 1.下载pig   wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz   2. 解压配置环境变量      如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量   expor</div> </li> <li><a href="/article/1769.htm" title="Java 线程同步几种方式" target="_blank">Java 线程同步几种方式</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/volatile/1.htm">volatile</a><a class="tag" taget="_blank" href="/search/synchronized/1.htm">synchronized</a><a class="tag" taget="_blank" href="/search/ThredLocal/1.htm">ThredLocal</a><a class="tag" taget="_blank" href="/search/ReenTranLock/1.htm">ReenTranLock</a><a class="tag" taget="_blank" href="/search/Concurrent/1.htm">Concurrent</a> <div>为何要使用同步?      java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),      将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,      从而保证了该变量的唯一性和准确性。 1.同步方法&</div> </li> <li><a href="/article/1896.htm" title="StringUtils判断字符串是否为空的方法(转帖)" target="_blank">StringUtils判断字符串是否为空的方法(转帖)</a> <span class="text-muted">BreakingBad</span> <a class="tag" taget="_blank" href="/search/null/1.htm">null</a><a class="tag" taget="_blank" href="/search/StringUtils/1.htm">StringUtils</a><a class="tag" taget="_blank" href="/search/%E2%80%9C%E2%80%9D/1.htm">“”</a> <div>转帖地址:http://www.cnblogs.com/shangxiaofei/p/4313111.html   public static boolean isEmpty(String str)     判断某字符串是否为空,为空的标准是 str== null  或 str.length()== 0  </div> </li> <li><a href="/article/2023.htm" title="编程之美-分层遍历二叉树" target="_blank">编程之美-分层遍历二叉树</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><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.ArrayList; import java.util.LinkedList; import java.util.List; public class LevelTraverseBinaryTree { /** * 编程之美 分层遍历二叉树 * 之前已经用队列实现过二叉树的层次遍历,但这次要求输出换行,因此要</div> </li> <li><a href="/article/2150.htm" title="jquery取值和ajax提交复习记录" target="_blank">jquery取值和ajax提交复习记录</a> <span class="text-muted">chengxuyuancsdn</span> <a class="tag" taget="_blank" href="/search/jquery%E5%8F%96%E5%80%BC/1.htm">jquery取值</a><a class="tag" taget="_blank" href="/search/ajax%E6%8F%90%E4%BA%A4/1.htm">ajax提交</a> <div> // 取值 // alert($("input[name='username']").val()); // alert($("input[name='password']").val()); // alert($("input[name='sex']:checked").val()); // alert($("</div> </li> <li><a href="/article/2277.htm" title="推荐国产工作流引擎嵌入式公式语法解析器-IK Expression" target="_blank">推荐国产工作流引擎嵌入式公式语法解析器-IK Expression</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a> <div>这个开源软件包是国内的一位高手自行研制开发的,正如他所说的一样,我觉得它可以使一个工作流引擎上一个台阶。。。。。。欢迎大家使用,并提出意见和建议。。。 ----------转帖--------------------------------------------------- IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言</div> </li> <li><a href="/article/2404.htm" title="关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer" target="_blank">关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>1、PropertyPlaceholderConfigurer Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。 基本的使用方法是:(1) <bean id="propertyConfigurerForWZ&q</div> </li> <li><a href="/article/2531.htm" title="二叉树:二叉搜索树" target="_blank">二叉树:二叉搜索树</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a> <div>    所谓二叉树,就是一个节点最多只能有两个子节点,而二叉搜索树就是一个经典并简单的二叉树.规则是一个节点的左子节点一定比自己小,右子节点一定大于等于自己(当然也可以反过来).在树基本平衡的时候插入,搜索和删除速度都很快,时间复杂度为O(logN).但是,如果插入的是有序的数据,那效率就会变成O(N),在这个时候,树其实变成了一个链表. tree代码: </div> </li> <li><a href="/article/2658.htm" title="C语言字符串函数大全" target="_blank">C语言字符串函数大全</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/function/1.htm">function</a> <div>C语言字符串函数大全     函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:   #include <stdio.h> #include <string.h>   int main</div> </li> <li><a href="/article/2785.htm" title="友盟统计页面技巧" target="_blank">友盟统计页面技巧</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E6%8A%80%E5%B7%A7/1.htm">技巧</a> <div>在基类调用就可以了, 基类ViewController示例代码 -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [MobClick beginLogPageView:[NSString stringWithFormat:@"%@",self.class]]; </div> </li> <li><a href="/article/2912.htm" title="window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法" target="_blank">window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法</a> <span class="text-muted">flyvszhb</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a> <div>window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装jdk1.6前,执行java -version得到 C:\Users\liuxiang2>java -version java version "1.7.0_21&quo</div> </li> <li><a href="/article/3039.htm" title="Java在创建子类对象的同时会不会创建父类对象" target="_blank">Java在创建子类对象的同时会不会创建父类对象</a> <span class="text-muted">happyqing</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E5%BB%BA/1.htm">创建</a><a class="tag" taget="_blank" href="/search/%E5%AD%90%E7%B1%BB%E5%AF%B9%E8%B1%A1/1.htm">子类对象</a><a class="tag" taget="_blank" href="/search/%E7%88%B6%E7%B1%BB%E5%AF%B9%E8%B1%A1/1.htm">父类对象</a> <div>  1.在thingking in java 的第四版第六章中明确的说了,子类对象中封装了父类对象,   2."When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the sam</div> </li> <li><a href="/article/3166.htm" title="跟我学spring3 目录贴及电子书下载" target="_blank">跟我学spring3 目录贴及电子书下载</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>    一、《跟我学spring3》电子书下载地址: 《跟我学spring3》  (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf     跟我学spring3系列 word原版 下载     二、 源代码下载 最新依</div> </li> <li><a href="/article/3420.htm" title="第12章 Ajax(上)" target="_blank">第12章 Ajax(上)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3547.htm" title="BI and EIM 4.0 at a glance" target="_blank">BI and EIM 4.0 at a glance</a> <span class="text-muted">blueoxygen</span> <a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a> <div>http://www.sap.com/corporate-en/press.epx?PressID=14787   有机会研究下EIM家族的两个新产品~~~~   New features of the 4.0 releases of BI and EIM solutions include: Real-time in-memory computing – </div> </li> <li><a href="/article/3674.htm" title="Java线程中yield与join方法的区别" target="_blank">Java线程中yield与join方法的区别</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。 &nb</div> </li> <li><a href="/article/3801.htm" title="android Manifest.xml选项" target="_blank">android Manifest.xml选项</a> <span class="text-muted">阿尔萨斯</span> <a class="tag" taget="_blank" href="/search/Manifest/1.htm">Manifest</a> <div>结构 继承关系 public final class Manifest extends Objectjava.lang.Objectandroid.Manifest 内部类 class Manifest.permission权限 class Manifest.permission_group权限组 构造函数 public Manifest () 详细 androi</div> </li> <li><a href="/article/3928.htm" title="Oracle实现类split函数的方" target="_blank">Oracle实现类split函数的方</a> <span class="text-muted">zhaoshijie</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>关键字:Oracle实现类split函数的方 项目里需要保存结构数据,批量传到后他进行保存,为了减小数据量,子集拼装的格式,使用存储过程进行保存。保存的过程中需要对数据解析。但是oracle没有Java中split类似的函数。从网上找了一个,也补全了一下。 CREATE OR REPLACE TYPE t_split_100 IS TABLE OF VARCHAR2(100); cr</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>