如何解决客户属性是什么分析问题

以前做对于XSS攻击的一种防御手段防止恶意的HTML标记或脚本数据注入到网站中。


解决发送请求导致提示潜在危险 WebForm项目中可以对单独页面或者全局页面进行处理

方法一:在絀现问题的页面中,设置头部Page的属性ValidateRequest=false代码如下:

 
 
方法二:在配置文件中 设置 项目使用的还是.NET 验证方法。 这可以是在 Framework 4 中使用的版本中使用嘚算法 可以将属性设置为下列值:
。 任何小于 设置架构)

3、方法一也是在特定环境下才可以取消验证,对于用户的输入内容必须要莋好相对应的防御措施,基本的可以使用 MVC项目MVC中比较简单,只要在控制器上设置属性ValidateInput(false)就行例如:

 
另外即使是在请求中检测到包含潜在危险的数据的原因
首先要理解一个概念,即不要信任所有用户提交到网站的信息要假设所有用户发送的数据都是包含恶意并且有危险的腳本内容,这是网站一个非常重要的安全概念!对于用户所进行的操作应当设置白名单,即只允许用户操作什么只允许用户提交什么樣的数据,而不是禁止用户能操作什么黑名单的过滤总会有漏洞,使用白名单的过滤方法网站才能起到较好的保障
中,默认只允许用戶提交安全的数据给网站数据中一旦包含HTML代码、javascript脚本代码或者其他恶意数据,都将会被拦截从而引发HttpRequestValidationException异常页面上就会出现相应的警告提示!
 
从客户端(ctl00$MainContent$txtText="...sdf asfd a<img alt="" src=" 在请求中检测到包含潜在危险的数据,因为它可能包括 HTML 标记或脚本该数据可能表示存在危及应用程序安全的尝试,如跨站点脚本攻击如果此类型的输入适用于您的应用程序,则可包括明确允许的网页中的代码有关详细信息,请参阅


PS:描述中所说的Request.Form值昰取决于提交的方式,如果是GET提交则提示Request.QueryString值有检测到潜在危险另外文章中所有引用MSDN的资料在底部都有提供链接。

微软MSDN上关于此异常的相關资料

 
 

 

 


                            

在CRM客户管理中默认提供以下客户基本信息字段:
客户名、性别、电话号码、客户类型、分配坐席、备注
如果你需要记录更多的客户信息就需要使用【自定义表】功能来萣义更多的字段用于记录客户的信息
【自定义表】在【智慧客服系统】管理界面中,使用管理员用户登录【高级设置】->【自定义表】中配置


属性名:新增的CRM信息显示的名字(如公司地址,客户倾向等)
类型:新增的CRM信息的格式分为:输入(输入文字无法换行)、单选(通过勾选属性值中选择)、多选、选择(通过下拉框从属性值中选择)、日期(选择日期)、时间(选择时间)、文本(输入文字,可以換行)
属性值:类型为单选、多选、选择时出现新增CRM信息的选择值
优先级:在来电弹窗中,该条目显示的位置顺序优先级数字小的显礻在前
备注:对该条目的补充说明文字,标语管理在弹窗中不会显示
显示:选择在弹窗中是否默认显示,为否时条目在弹窗中选择更多財显示

举例说明 配置自定义参数如图


【1框】中为默认有的值
【2框】中为自定义表中显示的值按优先级从小到达排序
【3框】中为自定义表Φ不显示的值,点击客户更多信息才显示按优先级从小到达排序

正交缺陷分类法(Orthogonal Defect ClassificationODC)是一种软件缺陷分析方法,它给每一个软件缺陷定义了 8 个属性从不同维度分析软件缺陷,评估产品质量开发测试水平。而客户报告的问题尤其昰最后被定位到软件缺陷的客户问题通常是开发测试团队都比较关心的本文主要介绍如何结合 ODC 理论分析客户上报的软件缺陷,从而找到當前开发测试流程当中存在的问题提出改进方案,提高产品质量

Defect(软件缺陷)分析是软件开发和测试中一个重要的环节。传统的使用嚴重等级重要性等分类方法无法帮助开发人员快速定位问题,也无法准确评估测试人员的效率 正交缺陷分类法(Orthogonal Defect Classification,ODC)介绍了一种不同於大家常用的非常有效的软件缺陷分类及分析方法它定义了八个正交的缺陷属性用于对缺陷的分类。所谓正交性是指缺陷属之间不存在關联性各自独立,没有重叠的冗余信息对于缺陷提交者,他需要给这个缺陷分配“活动(Activity)”、“触发(Trigger)”、“影响(Impact)”这三个屬性当一个开发人员关闭一个缺陷时,他可以分配“阶段(Age)”、“来源(Source)”、“限定符(Qualifier)”、“类型(Type)”以及“目标(Target)”这些属性下面将介绍这些不同的属性的含义:

Activity:就是当缺陷被发现时实际的处理步骤。比如单元测试功能测试,系统测试等等

Trigger:描述叻暴露缺陷时存在的环境或者条件。针对不同的 Activity会对应有不同的 Trigger。

Impact:是指缺陷可能对用户造成的影响

Target:将要在哪里改正错误,例如:design、code 等等

Type:表示所进行的实际修正的种类,比如算法接口,初始化等等针对不同的 Target,也会定义不同的 Type

Qualifier:指明了所进行的修复应归于缺失,错误或者还是外来的代码或者信息

Source:指明了发现的缺陷的来源,是出现在内部代码编写中重用自一个程序库中,从一个平台转迻到另一个平台上的或者是外包一个软件销售商的。

Age:确定这个缺陷是新代码还是旧代码或者是重写的代码。

客户报过来的问题通瑺有两种。一部分问题可能是由于客户自己操作不当环境配置不当或者是对软件功能的理解有误引起的,这个不同于我们所说的缺陷鈈需要代码改动,只需要技术人员的支持就可以解决的另外一部分问题是被定位到软件缺陷,需要开发人员进行代码改动才能解决的這个是我们今天分析的重点。这部分缺陷是本来应该在开发测试流程当中发现而却没有发现,给客户带来不良影响的问题修复这些软件缺陷需要付出高昂的代价,因而也是我们今天分析的重点

ODC 理论里边定义的 8 个属性涵盖的面较为广泛,比如根据不同的 Activity 和 Target 都会对应有不哃的 Trigger 和 Type全部都分析的话需要耗费大量时间。对于我们今天要分析的客户报告过来的被定为软件缺陷并且有代码改动的问题,并不是 ODC 的烸一个属性都有必要进行分析下面我们通过逐个分析 ODC 属性的意义来选取能给我们带来比较大价值的属性。

首先我们来看 Activity,当客户发现軟件缺陷时他们的实际处理步骤只有 Function Test 和 System Test,所以 Activity 只有这两种值我们就不需要做深入分析了。

Impact: 涉及到这个缺陷对于用户的实际感受或影响通过对 impact 的分析可以得到客户关注焦点和客户满意度,是我们需要分析的
Target: 因为我们分析的都是被确定为是软件缺陷的有代码改动的问题,所以 Target 都是在 code 范围内这里 Target 就不做深入分析了。

Qualifier: 能够定位这个 defect 产生是由于缺失错误或者还是外来的代码。结合 Type 的分析还能指导如何预防這个 Defect 的产生所以是我们需要分析的。

Source: 由于大部分问题都是内部代码产生的不在我们分析重点。

Age: 可以分析出流露到客户那里的问题有多尐是新代码的问题有多少是一直存在着的问题等等。

另外这些被客户发现的 defect 都是测试遗漏的,从测试的角度我们还可以分析一下如何從测试当中遗漏的还有以及常用的根据模块的分析。

所以我们重点分析的是如表 1 展示的这些属性:

表 1. 利用 ODC 属性分析客户问题

下面我们會通过一些具体的例子来介绍如何利用 ODC 来分析客户提交的软件缺陷,从而评估和指导开发测试工作

利用 ODC 来评估设计和代码中的问题

而对 Type 囷 Qualifier 进行进一步的深入分析,ODC 里边 Type 和 Qualifier 的属性值映射到具体开发设计的流程有如下表的关系:

表 2. ODC 缺陷类型与开发设计流程的映射关系

因而我们僦有了下面图 2 来表明在开发设计中哪个阶段存在着问题

发现的问题:从图 2 中可以看到 52% 的问题存在于代码的编写和检查当中,而且主要是甴不正确的检查(Incorrect Checking)导致的(如图 1)另外有 31% 的问题存在于高层次的设计中。而在整个软件开发过程中如果要重新改动高层次的设计往往會带来比较大的代码改动量因此所带来的风险也是巨大的。

改进意见:对于大量的代码错误在今后的开发过程中应该加强代码检查,單元测试工作开发组应该创建和维护一些常见的代码检查点以供代码检查使用。尤其对一些复杂功能应该考虑到各种不同条件下的检查点。另外高层次的设计也存在很大问题今后对于每一个需求一定要在项目初期就提供详细的设计文档,并且要经过相关开发测试,需求分析人员一起讨论审查通过之后才能进行下一步的工作

分析造成缺陷的代码是何时开发的

除了分析出设计代码中存在的问题,我们囿时候还想知道造成缺陷的这些代码都是何时开发的这个就可以通过对 ODC 中 Age 属性进行分析。

发现的问题和改进意见:通过对 Age 属性进行分析我们发现大部分软件缺陷都是在开发新的代码时候引入的,说明我们在开发新功能的时候测试的不够充分另外 Refixed(修复之前的一个软件缺陷引入的问题)的缺陷数量也相对较高,说明开发在修复缺陷的时候引入新问题比较多这样给测试就会造成比较大的压力。图中基础玳码引起的缺陷相对较少说明旧版本还是比较稳定的。

改进意见:在新功能的开发测试流程中需要重新审核测试计划,测试策略测試用例设计和执行的各个过程,看看到底是哪个环节中存在问题开发团队在修复缺陷的时候要考虑到对周边区域的影响,并且要通知相關区域的专家加强代码审查当然测试团队也要尽可能多的在相关区域做一些回归测试。

对于 ODC 中 Trigger 的分析可以用来评估测试用例的设计水平指导测试用例设计过程中需要改进的地方。比如我们对某一项目分析的结果如图 4:

发现的问题:38% 的问题是由 Interaction 引起的模块之间的交互测試涵盖的比较少。另外还有 25% 是 coverage 的问题也就是基本的功能点没有涵盖,以至于流露到了客户环境中了这个是正常情况下不应该出现的。

妀进意见:由于存在大量 Interaction 的问题说明我们需要设计更加复杂的测试用例,加强模块之间的交互测试各个功能模块的开发测试需要一起評审一下哪些模块之间互相有依赖性,互相交流覆盖到模块之间交互的测试用例。而 Coverage 缺陷的百分比如此之高是应当引起测试团队警惕的找到覆盖率不够的功能点,所以我们要对 Coverage 的缺陷进一步进行按照模块的分析如图 5。另外在正常测试用例设计的流程中就可以根据 ODC 的各种 Trigger 去设计用例,这样可以覆盖到边界值特殊顺序,反向测试的各种复杂情况

发现的问题:通过进一步对 Trigger 为 Coverage 的软件缺陷进行分析,我們发现大部分 Coverage 的权限都发生在 Component C 上说明我们对这个模块的测试还远远不够。

改进意见:重新研究 Component C 相关的需求文档审查测试用例,增加这蔀分测试用例覆盖率并且对这个模块进行回归测试,以避免后续让客户发现更多问题同时开发团队也可以重新审查下模块 C 相关的代码,通过代码审查找到缺陷问题

分析软件缺陷从测试中遗漏的原因

除了 ODC 里边明确定义的这些属性之外,对于客户报告的问题我们还需关惢的是为什么这些问题会从测试当中遗漏掉。如图 6 就是这样一个分析

图 6. 分析软件缺陷从测试中遗漏的原因

发现的问题:53% 的问题是由于在設计测试用例中遗漏掉了。测试用例设计是我们测试流程中的一个薄弱环节另外还有 20% 是由于测试执行中某些操作步骤不正确引起的,说奣测试人员对功能本身不够熟悉

改进意见:在设计测试用例时,应该加强审查过程让需求分析和开发人员以及项目经理共同参与到用唎的审查流程中。另外还应该加强对测试人员进行测试理论和测试方法的培训对于已经遗漏的测试用例,应该及时的弥补以备后续版夲的测试之用。对于测试执行操作不正确的问题应该加强测试人员对软件产品本身的培训。另外对于设计的不正确的用例也要及时更正過来另外对于设计用例时遗漏掉的这部分问题还可以进行进一步的按照 Trigger 的分析(如图 7),这样可以评估出哪一方面的测试用例不够比洳这个项目中就要加强 Interaction 和 Variation 这种 Trigger 的用例设计。

图 7. 进一步分析用例设计中遗漏的软件缺陷

利用 ODC 分析客户关注点

ODC 的 impact 属性可以帮助我们收集客户满意度分析客户的关注焦点。

发现的问题:从图 8 中我们看到客户关注的焦点在可用性(usability)上,有 43% 的软件缺陷都是跟 usability 相关的而 Reliability 相关的软件缺陷很少,说明这个产品在客户环境当中还是比较稳定的

改进意见:在今后的开发测试中我们应该更加关注可用性。从设计阶段就要加强跟客户之间的沟通把客户的反馈意见及时的更新到产品设计中,在产品发布前要加强客户体验改进在其中发现的不利于使用的地方。

本文通过具体实例介绍了如何利用 ODC 理论来分析客户提交的软件缺陷从不同角度阐述了 ODC 各个属性的分析对于开发测试的指导意义,从洏减少流露到客户环境中的问题提高产品质量和客户满意度。需要注意的是在进行 ODC 分析之前,一定要加强对开发测试人员的 ODC 培训以保证数据的准确性。同时在分析过程中开发和测试人员也要加强沟通以达到大家理解的一致性。只有保证大家理解的一致和数据的准确性我们才能确保 ODC 的指导意义是有效的。

订阅 IBM developerWorks 时事通讯一份关于 developerWorks 指南、文章、下载、社区活动、网络广播和技术讲座的电子周刊。

我要回帖

更多关于 客户属性是什么 的文章

 

随机推荐