程序测试

软件测试方法

回眸只為那壹抹淺笑 提交于 2020-04-07 04:44:09
1,软件测试方法: 1 ) 黑盒测试 和 白盒测试 、灰盒测试; 2 )静态测试和动态测试; 3 )人工测试和自动化测试。 2,软件测试的极端情况 任何软件产品都可以使用以下的两种方法之一进行测试: 1)已知产品的 需求规格 ,但 不知道其内部实现 ,可以进行 测试证明每个需求是否实现 。 2)已知产品的 内部实现过程 ,可以通过测试证明 1每种内部操作是否符合设计规格 的要求,所又内部成分是否已经检查。 计算例子:1.参照SRS直接计算器的加法,这就是黑盒测试。 2.参照LLD根据加法主函数的伪函数或者流程图测试主函数的结构,就是白盒测试。 3,什么白盒测试 白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序整体功能实现情况。 白盒测试时基于程序结构的逻辑驱动测试。 白盒测试又可以称为玻璃盒测试、透明测试、开放盒测试、结构化测试、逻辑驱动测试。 4,为什么要进行白盒测试 白盒测试一般在 测试前期进行 ,通过达到一定的 逻辑覆盖率指标 ,使得软件内部逻辑控制结构上的问题基本得到消除。 白盒测试能 保证内部逻辑结构 达到一定的覆盖程度,能够 给予软件代码质量的保证 白盒测试发现问题后 解决问题成本较低 关心内部实现逻辑问题基本得到消除 5,白盒测试常用的技术: 静态分析和动态分析 1、 静态分析: 控制流分析、数据流分析

T- SQL性能优化详解 http://www.cnblogs.com/weixing/p/3357519.html

让人想犯罪 __ 提交于 2020-04-03 21:48:14
T- SQL性能优化详解 http://www.cnblogs.com/weixing/p/3357519.html 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因。   经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表甚至有上千万行数据,测试团队开始在生产数据库上测试,发现订单提交过程需要花5分钟时间,但在网站上线前的测试中,提交一次订单只需要2/3秒。   类似这种故事在世界各个角落每天都会上演,几乎每个开发人员在其开发生涯中都会遇到这种事情,我也曾多次遇到这种情况,因此我希望将我解决这种问题的经验和大家分享。   如果你正身处这种项目,逃避不是办法,只有勇敢地去面对现实。首先,我认为你的应用程序中一定没有写数据访问程序,我将在这个系列的文章中介绍如何编写最佳的数据访问程序,以及如何优化现有的数据访问程序。    范围   在正式开始之前,有必要澄清一下本系列文章的写作边界,我想谈的是“事务性(OLTP)SQL Server数据库中的数据访问性能优化”,但文中介绍的这些技巧也可以用于其它数据库平台。  

常规web***测试漏洞描述及修复建议

别来无恙 提交于 2020-03-30 21:06:39
Apache样例文件泄漏 测试方法   在链接的根目录中添加examples或者docs目录进行访问判断! 漏洞描述  apache一些样例文件没有删除,可能存在cookie、session伪造,进行后台登录操作 修复建议  1、删除样例文件  2、对apache中web.xml进行相关设置 弱口令 测试方法   先手工尝试一些最基本的弱口令,如admin/admin、admin/123456、admin/888888等,如果不行,使用暴力破解工具进行暴力破解,如使用burpsuite,另外推荐一个小技巧,使用暴力破解的时候,弱口令使用2到3个常见的,然后用户名使用人名拼音top500! 漏洞描述   由于系统中存在有弱口令,导致***者通过弱口令可轻松登录系统中,从而进行下一步的***,如上传webshell,获取敏感数据!   另外***者利用弱口令登录网站管理后台,可任意增删改等操作,从而造成负面影响! 修复建议   1、 建议强制用户首次登录时修改默认口令,或是使用用户自定义初始密码的策略;   2、 完善密码策略,信息安全最佳实践的密码策略为8位(包括)以上字符,包含数字、大小写字母、特殊字符中的至少3种。   3、对管理后台进行访问控制,修改后台弱口令,加强口令强度并定期修改。   4、增加验证机制,防爆破机制,限制ip+cookie访问次数。 明文传输登录口令

“不允许使用邮箱名称。服务器响应为:”的错误解决办法

不想你离开。 提交于 2020-03-29 17:46:25
由于项目需要,要为客户提供一个定期发送邮件的程序。本来原来自己还写过,但新写的程序一晚上也没通过测试,总是提示"不允许使用邮箱名称。服务器响应为..." 经过在网上搜索查找解决办法,似乎解决办法都是一个,就是把smtp.UseDefaultCredentials = true;写到smtp.Credentials = new NetworkCredential("myusername", "mypwd");的前面。 但使用此方法,也未能解决问题。 后来,我从邮箱设置入手,发现现在大多邮箱都采用了设置smtp发邮件和客户端授权码的双重功能,以126为例,在126邮箱网页版的设置里,就能看到,如下图 后期,我将smtp.Credentials = new NetworkCredential("myusername", "mypwd")中的mypwd换成了我的客户端授权码,立即通过了测试。 来源: https://www.cnblogs.com/codedisco/p/12593343.html

模块与包

試著忘記壹切 提交于 2020-03-28 16:18:28
一、模块   1.为什么是模块?   一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。   2.为何要使用模块?   如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。   随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用   3.如何使用模块?   3.1 import #spam.py print('from the spam.py') money=1000 def read1(): print('spam->read1->money',1000) def read2(): print('spam->read2 calling read') read1() def change(): global money money=0   3.1.1 模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到导入import语句时才执行(import语句是可以在程序中的任意位置使用的

构建之法阅读笔记03

让人想犯罪 __ 提交于 2020-03-28 11:47:46
单元测试对代码质量的影响 1.(过去的做法) 记得大一大二写程序的时候,从来都不写单元测试,现在去分析当时的心理,可能出于三个原因。第一,当时写代码的水平非常low,当然现在也挺low的,不过现在是大三了,更何况在上《软件工程》,编写代码的水平较以前肯定会有很大的提高。大一大二的时候,可能当时老师布置下任务以后,等到老师检查的时候差不多才刚刚把任务完成,来不及写单元测试就需要向老师展示结果了,这是第一个原因。第二个原因则是不敢写单元测试,以前写程序的时候往往用一组特殊的数据去验证程序的正确性,只要这组数据能让程序得到正确的结果,那就代表自己写的这个程序过关了,从未想过多用几组数据去测试一下,也不敢用别的数据去测试,因为一换数据就有可能导致程序出错,正是这种害怕程序出错的心理,让我的编程水平在很长的一段时间内都处于一个停滞不前的状态。第三个原因则是不会写单元测试,过去老师对我们的要求就是能实现程序应有的功能,所谓的测试也就只是多用几组数据去测试一下程序的结果,从来不会单独的写一个小程序从多方面的角度去验证程序。 因此,真正学习了单元测试并在实际的编程中使用单元测试时,才发现,单元测试是保证代码质量的有效手段。所谓的单元测试其实就是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为

软件测试第一周课程随笔

余生长醉 提交于 2020-03-27 21:22:59
  这周是第一节课,课程开始时的一个经典问题:什么是软件测试?软件测试 是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。   测试的目的: 1 .发现一些可以通过测试避免的开发风险。         2 .实施测试来降低所发现的风险。         3 .确定测试何时可以结束。         4 .在开发项目的过程中将测试看作是一个标准项目。   软件测试的分类:黑盒测试,白盒测试   黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。   白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。 " 白盒 " 法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。 " 白盒 " 法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手

软件测试的认识

谁说我不能喝 提交于 2020-03-27 21:21:22
定义:软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 测试原则: 一,测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。 二,程序员应该避免检查自己的程序,软件测试应该由第三方来负责。 三,设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下不要制造极端状态和意外状态。 四,应该充分注意测试中的群集现象。 五,对策就错误结果进行地一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格的确认,是否真的存在这个问题以及严重程度等。 六,制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成也有一个高水平的测试。 七,妥善保存测试计划、测试用例、出错统计和最终 分析报告 ,为维护提供方便。 来源: https://www.cnblogs.com/sh183/p/10586270.html

《软件测试技术》课程第一周随笔

拥有回忆 提交于 2020-03-27 21:17:50
什么是软件测试: 软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 为什么要进行软件测试: 软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事情(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件软件产品本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此,软件测试的第三个目的是保证整个软件开发过程是高质量的。 黑盒测试: 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

白盒测试方法

两盒软妹~` 提交于 2020-03-27 20:51:32
白盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件, 白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路 径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方 法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定 的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属 于动态分析方法。 测试方法: 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化: 1.语句覆盖每条语句至少执行一次。 2.判定覆盖每个判定的每个分支至少执行一次