2019-11-13 18:39:09 lmm0513 阅读数 146
  • Web前端开发第4季:JavaScript基础入门

    JavaScript是一种网页交互语言,为网页增添了巨大的表现力和交互能力,极大提高了用户体验,如今很难在找到不使用JavaScript的网站了。本课程主要是为刚刚接触JavaScript的朋友准备,详细的讲解了JavaScript的基本语法,以及事件的处理操作。 本季课程为JavaScript基础语法篇,着重介绍了JavaScript脚本语言的基础语法部分 内容包含: ◆ 认识JavaScript脚本语言、发展史、编译工具 ◆ JavaScript中的变量、数据类型、类型转换 ◆ 条件选择(if--else, if--else if ,switch--case) ◆ 循环(while循环, do--while循环, for循环,循环嵌套 ) ◆ 集合(Array基础常见操作、案例演示) ◆ set集合、map集合(集合的遍历、集合常用的方法) ◆ 课后习题 在本季课程的讲解部分结合了大量的案例演示,通过案例演示可以清楚的加深对JavaScript基本语言的理解; 建议在学习的过程中,一定要动手实战,这样才能真正的领悟到JavaScript的语法细节。 课程案例展示: 案例01:计算器 案例02:生成学生成绩 案例03:下拉菜单的联动 案例04:首页大图轮番

    709 人正在学习 去看看 王进

case即用例

1.什么是测试用例(Test Case)

       是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。

以上内容来自百度百科

2.测试用例模板

case3
2013-12-31 16:43:51 xiaomin881122 阅读数 366
  • Web前端开发第4季:JavaScript基础入门

    JavaScript是一种网页交互语言,为网页增添了巨大的表现力和交互能力,极大提高了用户体验,如今很难在找到不使用JavaScript的网站了。本课程主要是为刚刚接触JavaScript的朋友准备,详细的讲解了JavaScript的基本语法,以及事件的处理操作。 本季课程为JavaScript基础语法篇,着重介绍了JavaScript脚本语言的基础语法部分 内容包含: ◆ 认识JavaScript脚本语言、发展史、编译工具 ◆ JavaScript中的变量、数据类型、类型转换 ◆ 条件选择(if--else, if--else if ,switch--case) ◆ 循环(while循环, do--while循环, for循环,循环嵌套 ) ◆ 集合(Array基础常见操作、案例演示) ◆ set集合、map集合(集合的遍历、集合常用的方法) ◆ 课后习题 在本季课程的讲解部分结合了大量的案例演示,通过案例演示可以清楚的加深对JavaScript基本语言的理解; 建议在学习的过程中,一定要动手实战,这样才能真正的领悟到JavaScript的语法细节。 课程案例展示: 案例01:计算器 案例02:生成学生成绩 案例03:下拉菜单的联动 案例04:首页大图轮番

    709 人正在学习 去看看 王进
编制

着重介绍一些编制测试用例的具体做法。

⒈测试用例文档

编写测试用例文档应有文档模板,须符合内部的规范要求。测试用例文档将受制于测试用例管理软件的约束。

软件产品或软件开发项目的测试用例一般以该产品的软件模块或子系统为单位,形成一个测试用例文档,但并不是绝对的。

测试用例文档由简介和测试用例两部分组成。简介部分编制了测试目的、测试范围、定义术语、参考文档、概述等。测试用例部分逐一列示各测试用例。每个具体测试用例都将包括下列详细信息:版本号、模块名称、用例编号、用例名称、用例级别、预知条件、验证步骤、期望结果(含判断标准)、测试结果、测试时间、测试人员等。

⒉测试用例的设置

我们早期的测试用例是按功能设置用例。后来引进了路径分析法,按路径设置用例。目前演变为按功能、路径混合模式设置用例。

功能测试是最简捷的,按用例规约遍历测试每一功能。

对于复杂操作的程序模块,其各功能的实施是相互影响、紧密相关、环环相扣的,可以演变出数量繁多的变化。没有严密的逻辑分析,产生遗漏是在所难免。路径分析是一个很好的方法,其最大的优点是在于可以避免漏测试。

但路径分析法也有局限性。在一个非常简单字典维护模块就存在十余条路径。一个复杂的模块会有几十到上百条路径是不足为奇的。笔者以为这是路径分析比较合适的使用规模。若一个子系统有十余个或更多的模块,这些模块相互有关联。再采用路径分析法,其路径数量成几何级增长,达5位数或更多,就无法使用了。那么子系统模块间的测试路径或测试用例还是要靠传统方法来解决。这是按功能、路径混合模式设置用例的由来。

⒊设计测试用例

测试用例可以分为基本事件、备选事件和异常事件。设计基本事件的用例,应该参照用例规约(或设计规格说明书),根据关联的功能、操作按路径分析法设计测试用例。而对孤立的功能则直接按功能设计测试用例。基本事件的测试用例应包含所有需要实现的需求功能,覆盖率达100%。

设计备选事件和异常事件的用例,则要复杂和困难得多。例如,字典的代码是唯一的,不允许重复。测试需要验证:字典新增程序中已存在有关字典代码的约束,若出现代码重复必须报错,并且报错文字正确。往往在设计编码阶段形成的文档对备选事件和异常事件分析描述不够详尽。而测试本身则要求验证全部非基本事件,并同时尽量发现其中的软件缺陷

可以采用软件测试常用的基该方法:等价类划分法、边界值分析法、错误推测法、因果图法逻辑覆盖法等设计测试用例。视软件的不同性质采用不同的方法。如何灵活运用各种基该方法来设计完整的测试用例,并最终实现暴露隐藏的缺陷,全凭测试设计人员的丰富经验和精心设计。

6作用

⒈指导测试的实施

测试用例主要适用于集成测试系统测试回归测试。在实施测试时测试用例作为测试的标准,测试人员一定要按照测试用例严格按用例项目和测试步骤逐一实施测试。并对测试情况记录在测试用例管理软件中,以便自动生成测试结果文档。

根据测试用例的测试等级,集成测试应测试那些用例,系统测试回归测试又该测试那些用例,在设计测试用例时都已作明确规定,实施测试时测试人员不能随意作变动。

⒉规划测试数据的准备

在我们的实践中测试数据是与测试用例分离的。按照测试用例配套准备一组或若干组测试原始数据,以及标准测试结果。尤其象测试报表之类数据集的正确性,按照测试用例规划准备测试数据是十分必须的。

除正常数据之外,还必须根据测试用例设计大量边缘数据和错误数据。

⒊编写测试脚本的"设计规格说明书"

为提高测试效率,软件测试已大力发展自动测试。自动测试的中心任务是编写测试脚本。如果说软件工程中软件编程必须有设计规格说明书,那么测试脚本的设计规格说明书就是测试用例。

⒋评估测试结果的度量基准

完成测试实施后需要对测试结果进行评估,并且编制测试报告。判断软件测试是否完成、衡量测试质量需要一些量化的结果。例:测试覆盖率是多少、测试合格率是多少、重要测试合格率是多少,等等。以前统计基准是软件模块或功能点,显得过于粗糙。采用测试用例作度量基准更加准确、有效。

⒌分析缺陷的标准

通过收集缺陷,对比测试用例和缺陷数据库,分析确证是漏测还是缺陷复现。漏测反映了测试用例的不完善,应立即补充相应测试用例,最终达到逐步完善软件质量。而已有相应测试用例,则反映实施测试或变更处理存在问题。

  

7相关问题

⒈测试用例的评审

测试用例是软件测试的准则,但它并不是一经编制完成就成为准则。测试用例在设计编制过程中要组织同级互查。完成编制后应组织专家评审,需获得通过才可以使用。评审委员会可由项目负责人、测试、编程、分析设计等有关人员组成,也可邀请客户代表参加。

⒉测试用例的修改更新

测试用例在形成文档后也还需要不断完善。主要来自三方面的缘故:第一、在测试过程中发现设计测试用例时考虑不周,需要完善;第二、在软件交付使用后反馈的软件缺陷,而缺陷又是因测试用例存在漏洞造成;第三、软件自身的新增功能以及软件版本的更新,测试用例也必须配套修改更新。

一般小的修改完善可在原测试用例文档上修改,但文档要有更改记录。软件的版本升级更新,测试用例一般也应随之编制升级更新版本。

⒊测试用例的管理软件

运用测试用例还需配备测试用例管理软件。它的主要功能有三个:第一、能将测试用例文档的关键内容,如编号、名称等等自动导入管理数据库,形成与测试用例文档完全对应的记录;第二、可供测试实施时及时输入测试情况;第三、最终实现自动生成测试结果文档,包含各测试度量值,测试覆盖表和测试通过或不通过的测试用例清单列表。

有了管理软件,测试人员无论是编写每日的测试工作日志、还是出软件测试报告,都会变得轻而易举。

 

 

 

2005-10-12 16:28:00 yun15291li 阅读数 2176
  • Web前端开发第4季:JavaScript基础入门

    JavaScript是一种网页交互语言,为网页增添了巨大的表现力和交互能力,极大提高了用户体验,如今很难在找到不使用JavaScript的网站了。本课程主要是为刚刚接触JavaScript的朋友准备,详细的讲解了JavaScript的基本语法,以及事件的处理操作。 本季课程为JavaScript基础语法篇,着重介绍了JavaScript脚本语言的基础语法部分 内容包含: ◆ 认识JavaScript脚本语言、发展史、编译工具 ◆ JavaScript中的变量、数据类型、类型转换 ◆ 条件选择(if--else, if--else if ,switch--case) ◆ 循环(while循环, do--while循环, for循环,循环嵌套 ) ◆ 集合(Array基础常见操作、案例演示) ◆ set集合、map集合(集合的遍历、集合常用的方法) ◆ 课后习题 在本季课程的讲解部分结合了大量的案例演示,通过案例演示可以清楚的加深对JavaScript基本语言的理解; 建议在学习的过程中,一定要动手实战,这样才能真正的领悟到JavaScript的语法细节。 课程案例展示: 案例01:计算器 案例02:生成学生成绩 案例03:下拉菜单的联动 案例04:首页大图轮番

    709 人正在学习 去看看 王进

查着太麻烦,记英文有时候吃不准,难免浪费一些时间,我就花了些时间,把它们统一整理一下。look~~~~~

a_and_d:
rup_sad.dot(软件构架文档);rup_ucrs.dot(Use-Case-用例实现规约:<用例名称>)
bm:
rup_barchdoc.dot(业务构架文档)rup_bgloss.dot(业务词汇表)rup_brul.dot(业务规则)rup_bucr.dot(业务用例实现规约:<业务用例名称>)rup_bucs.dot(业务用例规约:<业务用例名称>)rup_bvis.dot(业务前景)rup_sbs.dot(补充业务规约)rup_tarorgass.dot(目标组织评估)
cm_mgt:
rup_cmpln.dot(配置管理计划)
deploy:
rup_blomtl.dot(材料清单)rup_dplpln.dot(部署计划)rup_relnt.dot(发布版本说明)
environ:
rup_bmgd.dot(业务建模指南)rup_desgd.dot(设计指南)rup_devcs.dot(开发案例)rup_dorgass.dot(开发组织评估)rup_prggd.dot(编程指南)rup_tstgd.dot(测试指南)rup_ucmgd.dot(用例建模指南)
impl:
rup_ibpln.dot(集成构建计划)
mgmnt:
rup_buscs.dot(商业理由)rup_itass.dot(迭代评估)rup_itpln.dot(迭代计划)rup_mspln.dot(评测计划)rup_pacpln.dot(产品验收计划)rup_prspln.dot(问题解决计划)rup_qapln.dot(质量保证计划)rup_rsklst.dot(风险列表)rup_rskpln.dot(风险管理计划)rup_sdpln.dot(软件开发计划)rup_stass.dot(状态评估)
req:
rup_gloss.dot(词汇表)rup_rmpln.dot(需求管理计划)rup_srs.dot(软件需求规约用于<子系统或特性>)rup_srsuc.dot(软件需求规约用于<子系统或特性>)rup_sspec.dot(补充规约)rup_stkreq.dot(涉众请求)rup_ucspec.dot(用例实现规约:<用例名称>)rup_vision.dot(前景)
test:
rup_tsteval.dot(测试评估摘要)rup_tstpln.dot(测试计划)

yun15291li@hotmail.com

2008-07-25 10:42:00 iteye_19871 阅读数 38
  • Web前端开发第4季:JavaScript基础入门

    JavaScript是一种网页交互语言,为网页增添了巨大的表现力和交互能力,极大提高了用户体验,如今很难在找到不使用JavaScript的网站了。本课程主要是为刚刚接触JavaScript的朋友准备,详细的讲解了JavaScript的基本语法,以及事件的处理操作。 本季课程为JavaScript基础语法篇,着重介绍了JavaScript脚本语言的基础语法部分 内容包含: ◆ 认识JavaScript脚本语言、发展史、编译工具 ◆ JavaScript中的变量、数据类型、类型转换 ◆ 条件选择(if--else, if--else if ,switch--case) ◆ 循环(while循环, do--while循环, for循环,循环嵌套 ) ◆ 集合(Array基础常见操作、案例演示) ◆ set集合、map集合(集合的遍历、集合常用的方法) ◆ 课后习题 在本季课程的讲解部分结合了大量的案例演示,通过案例演示可以清楚的加深对JavaScript基本语言的理解; 建议在学习的过程中,一定要动手实战,这样才能真正的领悟到JavaScript的语法细节。 课程案例展示: 案例01:计算器 案例02:生成学生成绩 案例03:下拉菜单的联动 案例04:首页大图轮番

    709 人正在学习 去看看 王进

Title
Case ID Level
Designer Developer
Tester Time
测试场景描述 (Case scenario)
场景描述
子场景(可选)
子场景1 例如,返回10条记录
子场景2 例如,返回100条记录
测试流程 (Testing process)
描述被测试应用场景的商业流程,流程必须在实际测试中发挥良好的导航作用,使不熟悉该系统的使用者能够对商业流程有清晰的了解。
(被测的商业流程应该事先通过检测,以确保功能的顺利运行。应用程序代码在测试阶段应该被冻结)
1.
2.
3.
测试条件和要求 (Requirements)
环境要求
硬件要求:
WEB服务器 - 配置1.2 (详细配置信息见测试计划文档,或附录)
软件要求:
补丁要求:
网络要求:
性能基线和衡量指标 (Testing baseline & metrics)
前提 (测试结果有效的先决条件)
1. 例如:无内存泄漏;HTTP错误个数为0
2. 数据库数据要求
例如:流水表已有20万条记录
3. 并发连接数要求
4. 测试周期或测试次数
性能基线
1. 例如:每秒钟完成XXX笔交易
2. 3.
监视参数 (详情见附录)
1. 例如:Performance Monitor: Private Byte
2.
3.
性能计算方式
1. 例如:数据库交易表增加纪录数 / 总时间(秒)
2.
3.
测试数据和脚本 (Testing data, scrīpts)
测试数据准备
包括登陆账号组,输入数据;可以事先保存在某个文本文件中
测试数据库
数据库、表、存储过程、视图、用户帐号、相关数据
测试脚本
根据测试工具编写相应脚本或编写手工测试脚本
for Example 1LBrowser
1. Navigate to the home page of the Online Shopping site.
2. Click “Help.”
3. Click “FAQ.”
4. Click “Shopping” on FAQ.
5. Click “Shopping/Our Products” on the main menu.
6. Click “Product Search.”
7. Click “Special Offers.”
8. Click “Store Finder.”
9. Click Central Scotland to view shop addresses.
10. Click “Edinburgh” to see details.
11. Click “After Sales.”
12. Click “Basket.”
13. Navigate to the home page of the Online Shopping site.
14. Click on Advert at bottom of page.


测试手段 (Testing instrument)
例如: 编写自动测试工具
或使用专用测试工具。
备注 (Remarks)

附录A – 应用软件性能数据分类
4.1 应用软件性能数据概述
在企业级应用的负载测试过程中,测试工具通过部署一整套性能监视器,来收集和显示各个架构层次、服务器和组件上的性能数据,包括网络、操作系统、 应用服务器、中间件、应用程序、.NET服务器、Web服务器和数据库服务器。在进行负载测试时,这些数据用来精确测量系统各个方面的性能,从而用户可以 快速、简便地定位问题和瓶颈的来源。最终,这些数据用来生成各种文档和图表,并判断出应用程序的性能是否满足业务的需要。

4.2 应用软件常用性能数据描述
1. Number of Concurrent Users (NCU)
并发用户数 – 在指定时刻,系统观察到的并发用户连接数。
2. Request Per Second (RPS)
每秒处理请求数 – 指示服务器平均每秒钟能处理的用户事务请求数量。
3. Response Time
响应时间 – 指从客户发出一个事务请求到收到处理结果的最后一个字节的时间长度。
4. Time to First Byte (TTFB)
客户端收到响应的第一个字节的平均毫秒数。
5. Time to Last Byte (TTLB)
客户端收到响应的最后一个字节的平均毫秒数。
6. Think Time
思考时间 – 用户在发送下一个请求前花在浏览页面上的时间。
7. Hits per Second
每秒点击次数
8. Throughput
吞吐量 – 以kilobyte为单位,客户每秒接收的数据总量。
9. Pages per Second
每秒下载页数 – 每秒内从Web服务器上下载到客户端的Web页面数量。
10. User-define Data Point (supported by LoadRunner)
用户自定义性能指标 – 由LoadRunner支持的自定义性能指标,比如: Transaction Response Time, Transaction Per Second Passed, Failed。
11. %Processor Time:CPU平均利用率
12. %User Time:用户态CPU平均利用率
13. % Privileged Time:核心态CPU平均利用率
14. Processor Queue Length:处理器队列中的线程数
15. Context Switches per Second:每秒线程切换次数
16. Interrupts/Sec:每秒中断数
17. Page Faults / sec:每秒内存换页数
18. Memory, Available Bytes:平均剩余的可用内存
19. Private Bytes:进程分配内存数
20. Process, Handle Count:进程使用系统句柄数
21. Memory, Pool Paged Bytes:可交换到硬盘的系统物理内存byte数。
22. Memory, Pool Non-paged Bytes:不可交换到硬盘的系统物理内存byte数。
23. Network Interface, bytes total/sec:网络带宽利用率
24. Network Interface, Output Queue Length:网络适配器输出队列长度
25. Physical Disk, %Disk Time:物理磁盘利用率
26. Physical Disk, Avg Disk Queue Length:物理磁盘平均磁盘I/O队列长度
27. Physical Disk, Current Disk Queue Length:物理磁盘当前磁盘I/O队列长度
28. Physical Disk, Disk Read/Sec, Disk Write/Sec:物理磁盘每秒读/写操作次数
29. COM+ Authenticate (by LoadRunner):COM+ 调用级别验证成功频率
30. COM+ Authenticate Failed (by LoadRunner):COM+ 调用级别验证失败的频率
31. COM+ Activation (by LoadRunner):COM+ 应用激活频率
32. COM+ Failed (by LoadRunner):COM+ 应用关闭频率
33. COM+ Thread Start (by LoadRunner):STA的线程启动的比率
34. COM+ Thread Terminate (by LoadRunner):STA的线程中止的比率
35. Transaction Duration (by LoadRunner):COM+事务的平均周期
36. Transaction Start (by LoadRunner):COM+事务启动比率
37. Transaction Prepared (by LoadRunner):COM+事务进入准备阶段的比率
38. Transaction Aborted (by LoadRunner):COM+事务回滚的比率
39. Transaction Commited (by LoadRunner):COM+事务提交的比率
40. Object LifeTime(by LoadRunner):COM+组件平均生命期
41. Object Create (by LoadRunner):创建COM+组件实例的比率
42. Object Destroy (by LoadRunner):释放COM+组件实例的比率
43. Object Activate (by LoadRunner):COM+ JIT-actived对象激活的比率
44. Object Deactivate (by LoadRunner):COM+ JIT-actived对象失活的比率
45. Disable Commit (by LoadRunner):COM+对象处于DisableCommit状态的比率
46. Enable Commit (by LoadRunner):COM+对象处于Enable状态的比率
47. Set Complete (by LoadRunner):COM+对象处于SetComplete状态的比率
48. Set Abort (by LoadRunner)COM+对象处于SetAbort状态的比率
49. COM+ Method Duration (by LoadRunner):COM+方法调用平均持续时间
50. COM+ Method Frequency (by LoadRunner):COM+方法调用频率 51. COM+ Method Failed (by LoadRunner):COM+方法失败的频率
52. COM+ Method Exception (by LoadRunner):COM+方法抛出异常的频率
53. Active Server Page, Request per Second:ASP每秒执行请求数
54. Active Server Page, Request Queue:ASP请求队列长度
55. Active Server Page, Requests Execute Time:ASP平均请求执行时间
56. Active Server Page, Requests Wait Time:ASP平均请求等待时间
57. Active Server Page, Session Current:当前活动Session计数
58. .NET CLR Data, SqlClient, Current # Pooled Connection:当前被连接池缓存的数据库连接
59. .NET CLR Data, SqlClient, Current # Pooled and Non-pooled Connection
当前所有的数据库连接,缓存和未缓存的
60. .NET CLR Memory, Gen 0、1、2 heap size:.NET中0、1、2代虚拟堆的大小
61. .NET CLR Memory, # bytes in all Heaps:.NET中托管内存的总数
62. ASP.NET, Application Restarts:ASP.NET中应用重新启动的次数
63. ASP.NET, Work Process Restarts:ASP.NET中工作进程重新启动的次数
64. ASP.NET, Request Execution Time:ASP.NET平均请求执行时间毫秒数
65. ASP.NET, Request Wait Time:ASP.NET平均请求等待时间毫秒数
66. ASP.NET, Requests Queued:ASP.NET平均请求队列长度
67. ASP.NET Application, Requests/Sec:ASP.NET某特定应用每秒钟处理的请求数
68. ASP.NET Application, Requests Executing:ASP.NET某特定应用正在执行的请求数
69. ASP.NET Application Sessions Active:ASP.NET某特定应用中活动的Session数
70. Web Service, Get Requests per Second:HTTP的GET方法每秒请求数
71. Web Service, Post Requests per Second:HTTP的POST方法每秒请求数
72. Distributed Transaction Coordinator, Transactions/Sec
每秒的分布式事务数
73. Distributed Transaction Coordinator, Committed Transactions
提交的分布式事务总数
74. Distributed Transaction Coordinator, Aborted Transactions
回滚的分布式事务总数
75. Distributed Transaction Coordinator, Active Transactions
当前活动的分布式事务数
76. Distributed Transaction Coordinator, Response Time – Average
分布式事务从开始到提交的平均时间间隔
77. SQL Server, Cache Manager, Cache Hit Ratio:SQL Server的缓存区命中率
78. SQL Server, Cache Manager, Cache Used Counts per Second
SQL Server每秒内使用的缓存对象数
79. SQL Server, Locks, Exclusive/Shared & Users blocked
SQL Server 每秒内用户由于表级锁被阻塞数
80. SQL Server, % Procedure Cache Used & % Procedure Cache Active
SQL Server存储过程缓存使用率
81. SQL Server, Transaction/Sec:SQL Server每秒的事务数
82. SQL Server, General statistics, User Connections
SQL Server 当前用户连接数
83. SQL Profiler, Audit Login/Logout
SQL Profiler中跟踪用户登入/登出数
84. SQL Profiler, Stored Procedure, RPC Completed SQL Profiler中跟踪存储过程的调用
85. SQL Profiler, TSQL, Batch Completed:SQL Profiler中跟踪TSQL语句的调用
86. SQL Profiler, SQL Transaction:SQL Profiler 中跟踪事务的提交。

4.3 应用软件性能数据分类
企业应用程序可以根据系统架构分成以下类型
Client/Server – 客户机/服务器架构l
l 基于浏览器/Web服务器的三层架构
基于中间件应用服务器的三层架构l
l 基于Web服务器和中间件的多层架构
以上架构都由客户机、Web服务器、中间层应用服务器、数据库服务器组成。通过针对不同层次的性能指标监测,可以分析出整体架构的性能指标和性能瓶颈。 1. 数据库服务器的性能指标监测
l Processor, %Processor Time
Processor, %User Timel Processor, %l Privileged Time
Processor, Processor Queue Lengthl
System, Contextl Switches per Second
Memory, Page Faults/secl
Memory, Availablel Bytes
Memory, Pool Paged Bytesl
Network Interface, bytes total/secl
l Network Interface, Output Queue Length
Physical Disk, %Disk Timel
l Physical Disk, Current Disk Queue Length
Physical Disk, Avg Disk Queuel Length
Physical Disk, Disk Read/Sec, Disk Write/Secl
SQL Server,l General statistics, User Connections
SQL Server, Transaction/Secl
SQLl Server, Cache Manager, Cache Hit Ratio
SQL Server, Cache Manager, Cachel Used Counts per Second
SQL Server, Locks, Exclusive/Sharedl & Users blocked
SQL Server, % Procedure Cache Usedl & % Procedure Cache Active
SQL Profiler, Audit Login/Logoutl
SQL Profiler, Storedl Procedure, RPC Completed
SQL Profiler, TSQL, Batch Completedl
SQLl Profiler, SQL Transaction

2. Web服务器的性能指标监测
Processor, %Processorl Time
Processor, %User Timel
Processor, % Privileged Timel
l Processor, Processor Queue Length
System, Context Switches per Secondl
l Process, Private Bytes
Memory, Page Faults/secl
Memory, Availablel Bytes
Memory, Pool Paged Bytesl
Network Interface, bytes total/secl
l Network Interface, Output Queue Length
Physical Disk, %Disk Timel
l Physical Disk, Avg Disk Queue Length
Number of Concurrent Users (NCU)l
l Request Per Second (RPS)
Response Timel
Time to First Byte (TTFB)l
l Time to Last Byte (TTLB)
Think Timel
Web Service, Get Requests perl Second
Web Service, Post Requests per Secondl
Active Server Page,l Request per Second
Active Server Page, Request Queuel
Active Serverl Page, Requests Execute Time
Active Server Page, Requests Wait Timel
l Active Server Page, Session Current 。


3. 基于ASP.NET的Web服务器或Web Service服务器性能指标监测
Processor, %Processor Timel
Processor, %User Timel
l Processor, % Privileged Time
Processor, Processor Queue Lengthl
System,l Context Switches per Second
Process, Private Bytesl
Memory, Pagel Faults/sec
Memory, Available Bytesl
Memory, Pool Paged Bytesl
l Network Interface, bytes total/sec
Network Interface, Output Queuel Length
Physical Disk, %Disk Timel
Physical Disk, Avg Disk Queuel Length
Number of Concurrent Users (NCU)l
Request Per Second (RPS)l
l Response Time
Time to First Byte (TTFB)l
Time to Last Byte (TTLB)l
l Think Time
Web Service, Get Requests per Secondl
Web Service, Postl Requests per Second
ASP.NET, Application Restartsl
ASP.NET, Workl Process Restarts
ASP.NET, Request Execution Timel
ASP.NET, Request Waitl Time
ASP.NET, Requests Queuedl
ASP.NET Application, Requests/Secl
l ASP.NET Application, Requests Executing
ASP.NET Application Sessionsl Active

4. 中间层应用服务器的性能指标监测
Processor, %Processor Timel
Processor,l %User Time
Processor, % Privileged Timel
Processor, Processor Queuel Length
System, Context Switches per Secondl
Process, Private Bytesl
l Memory, Page Faults/sec
Memory, Available Bytesl
Memory, Pool Pagedl Bytes
Network Interface, bytes total/secl
Network Interface, Outputl Queue Length
Physical Disk, %Disk Timel
Physical Disk, Avg Disk Queuel Length
COM+ Authenticate (by LoadRunner)l
COM+ Authenticate Failed (byl LoadRunner)
COM+ Activation (by LoadRunner)l
COM+ Failed (byl LoadRunner)
COM+ Thread Start (by LoadRunner)l
COM+ Thread Terminatel (by LoadRunner)
Transaction Duration (by LoadRunner)l
Transaction Startl (by LoadRunner)
Transaction Prepared (by LoadRunner)l
Transactionl Aborted (by LoadRunner)
Transaction Commited (by LoadRunner)l
Objectl LifeTime(by LoadRunner)
Object Create (by LoadRunner)l
Object Destroyl (by LoadRunner)
Object Activate (by LoadRunner)l
Object Deactivate (byl LoadRunner)
Disable Commit (by LoadRunner)l
Enable Commit (byl LoadRunner)
Set Complete (by LoadRunner)l
Set Abort (byl LoadRunner)
COM+ Method Duration (by LoadRunner)l
COM+ Method Frequencyl (by LoadRunner)
COM+ Method Failed (by LoadRunner)l
COM+ Methodl Exception (by LoadRunner)
.NET CLR Data, SqlClient, Current # Pooledl Connection
.NET CLR Data, SqlClient, Current # Pooled and Non-pooledl Connection
.NET CLR Memory, Gen 0、1、2 heap sizel
.NET CLR Memory, #l bytes in all Heaps
Distributed Transaction Coordinator,l Transactions/Sec
Distributed Transaction Coordinator, Committedl Transactions
Distributed Transaction Coordinator, Aborted Transactionsl
l Distributed Transaction Coordinator, Active Transactions
Distributedl Transaction Coordinator, Response Time – Average

5. 客户机的性能指标监测
l Processor, %Processor Time
Process, Private Bytesl
Process, Handlel Counts
Network Interface, bytes total/secl
Network Interface, Outputl Queue Length
Physical Disk, Avg Disk Queue Lengthl
.NET CLR Memory, Genl 0、1、2 heap size
.NET CLR Memory, # bytes in all Heapsl
Number ofl Concurrent Users (NCU)
Request Per Second (RPS)l
Response Timel
l Hits per Second
Throughputl
Pages per Secondl
User-define Datal Point
Time to First Byte (TTFB)l
Time to Last Byte (TTLB)l
Thinkl Tim
2015-11-29 21:36:34 qq7418675 阅读数 112
  • Web前端开发第4季:JavaScript基础入门

    JavaScript是一种网页交互语言,为网页增添了巨大的表现力和交互能力,极大提高了用户体验,如今很难在找到不使用JavaScript的网站了。本课程主要是为刚刚接触JavaScript的朋友准备,详细的讲解了JavaScript的基本语法,以及事件的处理操作。 本季课程为JavaScript基础语法篇,着重介绍了JavaScript脚本语言的基础语法部分 内容包含: ◆ 认识JavaScript脚本语言、发展史、编译工具 ◆ JavaScript中的变量、数据类型、类型转换 ◆ 条件选择(if--else, if--else if ,switch--case) ◆ 循环(while循环, do--while循环, for循环,循环嵌套 ) ◆ 集合(Array基础常见操作、案例演示) ◆ set集合、map集合(集合的遍历、集合常用的方法) ◆ 课后习题 在本季课程的讲解部分结合了大量的案例演示,通过案例演示可以清楚的加深对JavaScript基本语言的理解; 建议在学习的过程中,一定要动手实战,这样才能真正的领悟到JavaScript的语法细节。 课程案例展示: 案例01:计算器 案例02:生成学生成绩 案例03:下拉菜单的联动 案例04:首页大图轮番

    709 人正在学习 去看看 王进

在编写代码的过程中,把各项功能分开写出来,互不影响,这样可以方便的调用,在出现错误是,也可以很容易的找出错误,对编写代码有很好的帮助。

以数字游戏为例,用户输入4个不同的数字 ,与系统产生的随机4个数对比 如果同位置一样则显示几A位置不同但是有此数字则显示几B 都不同则0A0B 都猜对则游戏成功,6次失败则游戏失败

首先产生随机数

//
//  Radom.h
//  ShuZiYouXi
//
.
//

#import <UIKit/UIKit.h>

@interface Radom : NSObject
+(NSArray *)randomArray;
@end

 

//
//  Radom.m
//  ShuZiYouXi
//
#import "Radom.h"

@implementation Radom

+(NSArray *)randomArray
{
    NSMutableArray *startArray = [[NSMutableArray alloc]initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9", nil];
    NSMutableArray  *resultArray = [[NSMutableArray alloc]initWithCapacity:0];
    for (int i = 0; i < 4; i ++)
    {
        int k = arc4random()%startArray.count;
        resultArray[i] = startArray[k];
        startArray[k] = [startArray lastObject];//为了更好的乱序,交换下位置
        [startArray removeLastObject];
        
    }
    return resultArray;
    
}//生成随机的4个数


@end

 

 

 

 

对比随机数和自己输入的数是否一样

//
//  Compare.h
//  ShuZiYouXi
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface Compare : NSObject    //建立功能类是建立NSObject即可

+(NSString *)compare_info :(NSArray *)arr_random_numbers :(NSArray *)user_filled_numbers;
@end

 

//
//  Compare.m
//  ShuZiYouXi
//
//

#import "Compare.h"
#import "Radom.h"
@implementation Compare
+(NSString *)compare_info :(NSArray *)arr_random_numbers :(NSArray *)user_filled_numbers
{
    int a_count = 0;
    int b_count = 0;
    for (int j = 0; j < user_filled_numbers.count ; j++)
    {
        for (int m = 0; m < arr_random_numbers.count; m++)
        {
            if ([[user_filled_numbers objectAtIndex:j]isEqualToString:
[arr_random_numbers objectAtIndex:m]])
            {
                if (j == m)
                    a_count++;
                else
                    b_count++;
            }
        }
    }
    NSString *result_info = [NSString stringWithFormat:@"%dA%dB",a_count,b_count];
    return result_info;
}

//arr_random_numbers和user_filled_numbers 是传进来的数 可以进行任意的更改 ,此方法与上一部分产生的随机数
没有直接的关联 
@end

 

 

控制游戏的次数

//
//  Compare.h
//  ShuZiYouXi
//

#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface Compare : NSObject

+(NSString *)compare_info :(NSArray *)arr_random_numbers :(NSArray *)user_filled_numbers;
@end

 

//
//  NumberOfGame.m
//  ShuZiYouXi
//
//

#import "NumberOfGame.h"
#import "Compare.h"
#import "Radom.h"

@implementation NumberOfGame
//- (void)viewDidLoad {
//    [super viewDidLoad];
//    self.view.backgroundColor = [UIColor whiteColor];
//   
//}

+(NSString *)compare_result :(NSString *)comare_result :(int)count_number
{
    
    NSString *label_text;
    if (count_number < 6 )
    {
        if ([comare_result isEqualToString:@"4A0B"])
           label_text = @"恭喜您猜对了!";
        else
           label_text = @"很遗憾,请再猜一次!";
    }
    else if (count_number == 6)
    {
        if ([comare_result isEqualToString:@"4A0B"])
            label_text = @"恭喜您猜对了!";
        else
            label_text = @"对不起,游戏失败!";
    }

    return label_text;
}



@end

 

 三个功能相互没有关联,单独写出来,要是有错误的地方会一目了然

测试用例

//
//  ShuZiYouXiTests.m
//  ShuZiYouXiTests
//
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>

@interface ShuZiYouXiTests : XCTestCase

@end

@implementation ShuZiYouXiTests

- (void)setUp {
    [super setUp];
    // Put setup code here. This method is called before the invocation of each test method in the class.
}

- (void)tearDown {
    // Put teardown code here. This method is called after the invocation of each test method in the class.
    [super tearDown];
}

- (void)testExample {
    // This is an example of a functional test case.
    XCTAssert(YES, @"Pass");
}

- (void)testPerformanceExample {
    // This is an example of a performance test case.
    [self measureBlock:^{
        // Put the code you want to measure the time of here.
    }];
}

@end

 测试功能时建个testcase 把测试的代码写进去测试即可

没有更多推荐了,返回首页