后台开发怎么测bug

后台开发怎么测bug,第1张

后台的bug与逻辑、性能和安全性有关。当bug出现时,一般来说分大致3种情况。

1,数据层面的。

可能少某个字段,或者字段值为空等等,这些可能在设计数据库时就埋下了错误的种子,导致程序调用数据库错误的数据产生bug,这一类问题不算普遍,但也是最容易忽视的一种情况,有时候从数据库入手定位bug说不定还能发现数据库的设计缺陷呢。

2,网络层面的。

通常这种都是网络情况较差的时候产生的,比如手机的移动网络信号不好,又或是公司网络不稳定,导致js/css未加载完全或者请求超时等等,这种问题其实非程序bug造成的,可以不用提交bug,也不用让开发毫无头绪的去查代码的问题。

当然如果可以的话也可以当优化建议提给开发,让他优化代码,比如压缩js/css,增加超时时间,超时后的重试机制。

3,代码层面的。

普遍的bug基本都是代码有问题造成的,排除掉1和2剩下后就可以确定是程序bug了。对于了解网络架构的人来说,其实程序也分前端和后端的,一般对于界面显示有问题直接可以判断是前端的问题,比如系统兼容性,浏览器兼容性。

bug是一个英文单词,本意是指昆虫、小虫、损坏、犯贫、缺陷、窃听器等意思。现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,简称程序漏洞。另外bug还有一种引申意义,用来形容某事物厉害的超乎想象。

所谓"(Bug)",是指电脑系统的硬件、系统软件(如 *** 作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。

软件的Bug,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。

不太明白你的意思!不知道你是说应用数据库做测试还是做数据库的测试?

前者通常来说,就是验证前台 *** 作与数据库的一致性,比如你在前台删除、增加、修改一条数据,数据库相应的表内是否有相应的记录变化,这是最基本的

如果你说是做数据库测试,牵涉到很多,不过,对于我们测试人员做的哦比较多的数据库的并发,打个比方说吧,我们对一个有5个字段的表test进行基本测试,验证两种情况:一,某字段order_no有索引;二,字段order_no无所有,有无索引时做相同的测试验证

测试验证分同时并发和分钟并发两种情况验证

,并发数从10、20、100、1000不等表中有50000条数据,通过比较响应时间得出测试结论。

做数据库测试不多,也觉得三两句说不清除!

1 分别测试记录的新增、修改、删除等 *** 作,以验证前台与后台数据的一致性为主。

2 测试记录的查找功能,检查返回的数据是否正确,并测试相关功能。

3 测试数据的不同显示方式。

4 测试有效和无效数据对数据库的影响。完成标准: 所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。

包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试。

负载测试,一种性能测试指数据在超负荷环境中运行,程序是否能够承担。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。

对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。

因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效,首先需遵循此类原则,将此类原则贯穿整个开发流程,不断进行测试,而并非一次性全程测试。

数据库部分是不是把datadir目录下的所有文件拷贝过去,还有myini或者mycnf文件拷贝过去,这个数据库就可以正常运行了?有没有真正时间过的朋友?

我从帮助上看到,上面这个方法的一个必要条件是目标机器和我的机器的浮点数类型一致,请问这个是什么意思?是不是兼容x86的cpu都是一致的?无论是intel还是AMD

2,请问大家使用什么方式连接mysql数据库,我使用的是myODBC,听说还有OLEDB,有没有用过的朋友?那个好?

附:

将 InnoDB 数据库移动到另一台机器中

只要机器的的浮点数格式一致,那 InnoDB 的数据和日志文件在任何平台上均是二进制兼容的。 你可以通过简单地复制所有相关文件的方式来移动一个 InnoDB 数据库,方法 已在上面的章节中给以描述。如果在两台机器上浮点格式是不同的,但是你没有在你的表中使用 FLOAT 或 DOUBLE 数据类型,那么也可以使用这种方法:仅仅是复制相关文件。如果机器的格式不同而又使用了浮点数据,那么你不得不通过使用 mysqldump 和 mysqlimport 来移动那些表。

当向数据库中导入数据时最好将自动提交(autocommit)开关关闭将提高性能,如果插入事务用尽所有可用表空间将会引起大的大的回滚。建议在插入完整个表或表片段后再提交事务。

------Solutions------

你存成SQL语句发布不就可以了吗?

------Solutions------

服务器端需要安装MySQL,其实你看看自己装的MySQL,是MySQL Server and Client。

至于字节顺序,MyISAM的平台无关性表示不受直接顺序的影响。InnoDB表就不一样了,因为它的数据库整个是一个二进制数据的文件,不同架构的计算机肯定不能兼容。这里,不同架构一般是指Intel体系和Alpha、PowerPC等其他CPU的区别。

但是,实际上没有说把文件拷贝了来发布数据库内容的,一般程序不包括数据库内容,只包括结构,如果有内容,通过导入、导出就行了,没那么麻烦。

我使用MySQL C API连接据库,效率高、发布方便(都链接好了)。

------Solutions------

谢谢 Mackz(在相互)

用程序来初始化,我也考虑过,但有一个问题,如果root用户的密码被

不怀好意的人掌握,他可以通过看processlist来看到你的所有初始化过程,

包括修改密码动作,我想到了解决办法,但是还没有实践。

另外,我使用的是VB开发,你说的mysql C API是不是直接

连接?是否是用C来开发才可以用的,

如果让我用C来开发,我想我会疯的。

------Solutions------

VB

就用 MyODBC 吧,

建议用 Delphi ,

------Solutions------

问题很简单,1安装程序先安装myxql 2 执行sql语句建立数据库和表,3 用mysql 的loadfile 从文本文件里道入你要的数据,用C 接口一点也不麻烦,myodbc的效率损失太大

------Solutions------

谢谢 kkk3k3k() 老兄指点,我在实践中发现处理办法比你说的还简单。我的做法是:

1,把文件(包括数据文件)拷贝到安装路径。

2,修改myini文件

3,运行mysqld-nt --install注册服务

我现在的程序是VB做的,使用ADO,目前测试记录在20000左右,觉得速度还可以。

对于用C来写程序,我比较感兴趣,因为我想在做报表统计分析的时候使用,

也许可以提高速度。

有个问题想请教?使用C接口就不用通过myodbc?如果服务器和客户端在一台机器上,

用C不通过odbc可以访问数据库吗?

------Solutions------

使用linux的sock连接,连接性能通常可以提高30%左右!

在数据移植过程中,通常直接复制文件是最快的,但如果是从win32移到linux系统中,请确认移植后的所有myi,myd文件后缀名为大写,否则系统会提示数据库损坏!

------Solutions------

系统数据复制过程中,如果主机数据库不能停止使用,如果此时库中使用的是不是innodb格式,建议采用系统热备份的形式来实现。如使用的是innodb格式,目前无办法,听说50可以解决!

------Solutions------

系统热备份如何实现,有文章吗

是通过系统(比如说linux)还是mysql本身

------Solutions------

系统热备份不是免费的,记得>

数据库管理好我感觉是1、Access是桌面型数据库,优点是: *** 作灵活、转移方便、运行环境简单,对于小型网站的数据库处理能力效果还不错。缺点是:不支持并发处理、数据库易被下载存在安全隐患、数据存储量相对较小、数据量过大时严重影响网站访问速度和程序处理速度。2、SQL Server是基于服务器端的企业级数据库,适合大容量数据和大流量网站的应用,在性能、安全、功能管理、可扩展性上要比ACCESS强很多,两者并非同级别的数据库,有些功能ACCESS甚至无法做到。详细请访问微软官方网站的介绍 >

1IIS安装后,应该出现一个可以访问的匿名用户,你可以在我的电脑,管理,本地用户和组里面查看这个账号是不是不存在或者被禁用。

2若你并非登陆IIS管理界面,则同你访问的这个网页数据库有关,提示用户名不存在,表示a无用户名b密码错误。

============================================================

看过你在贴吧的留言,基本确定是原始程序的问题,请你参照原始程序的说明文档,建议打开数据库进行查看,一般为Access类型,如果发现数据库为其他类型的,更改为后缀名为mdb,或者可以直接用access打开,在里面添加用户名密码即可

ZDNet至顶网软件频道 在应用系统的测试中,把数据库应当作为独立的系统来测试,这无疑会为应用软件的质量增加可靠的保障,同时还必须结合应用软件进行集成测试,只有二者有机结合起来,才能最大限度的发挥数据库和应用软件的功能。根据以往软件测试经验,对数据库测试的内容和方法,进行了详细的分析,阐明了数据库测试在软件开发中的重要性。1、引言数据库系统的开发在应用软件开发中所占的比重越来越大,随之而来的问题也越来越突出。比如:数据冗余,功能和性能方面存在的问题已经严重影响应用软件的使用。软件测试人员往往重视对软件功能和编码的测试,而忽略对软件性能,特别是数据库访问并发测试。因为,他们固有的思想中认为数据库设计存在问题对系统性能影响不大,或从根本上忽略了数据库在软件开发中的地位,直到出现了问题,才想到对数据库的测试,但往往也是仅仅通过对编码的测试工作中捎带对数据库进行一定的测试,这远远是不够的。目前,中铁网上订票系统在大用户同时在线订票中系统频频瘫痪,就是最好的佐证。所以,在应用软件的测试工作中,应该将数据库作为一个独立的部分进行充分的测试,这样才可以得到应用软件所需要的性能优化的数据库。那么,应该对哪些内容进行测试,如何进行测试呢?2、数据库设计的测试数据库是应用的基础,其性能直接影响应用软件的性能。为了使数据库具有较好的性能,需要对数据库中的表进行规范化设计。规范化的范式可分为第一范式、第二范式、第三范式、BCNF范式、第四范式和第五范式。一般来说,逻辑数据库设计应满足第三范式的要求,这是因为满足第三范式的表结构容易维护,且基本满足实际应用的要求。因此,实际应用中一般都按照第三范式的标准进行规范化。但是,规范化也有缺点:由于将一个表拆分成为多个表,在查询时需要多表连接,降低了查询速度。故数据库设计的测试包括前期需求分析产生数据库逻辑模型和后期业务系统开发中的测试两部分(这里指的是后者),我在这里称为实体测试。数据库是由若干的实体组成的,包括(表,视图,存储过程等),数据库最基本的测试就是实体测试,通过对这些实体的测试,可以发现数据库实体设计得是否充分,是否有遗漏,每个实体的内容是否全面,扩展性如何。实体测试,可以用来发现应用软件在功能上存在的不足,也可以发现数据冗余的问题。经过测试,测试人员对有异议的问题要及时和数据库的设计人员进行沟通解决。3、数据一致性测试在进行实体测试后,应进一步检查下面的内容以保障数据的一致性:31 表的主键测试根据应用系统的实际需求,对每个表的主键进行测试,验证是否存在记录不唯一的情况,如果有,则要重新设置主键,使表中记录唯一。32 表之间主外键关系的测试数据库中主外键字段在名称,数据类型,字段长度上的一致性测试。33 级联表,删除主表数据后,相应从报表数据应同时删除的问题例如学生表和学生成绩表,学生数据已经删除,成绩表中相应学生的成绩记录应同时删除。34 存储过程和触发器的测试存储过程可以人工执行,但触发器不能人工处理,所以在对存储过程和触发器执行的过程中针对SQL SERVER2005及以上版本可以使用Microsoft SQL Server Profiler性能测试工具进行测试。Microsoft SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视数据库引擎或 Analysis Services 的实例。测试人员可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析。例如:可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了性能。4、数据库的容量测试随着数据库系统的使用,数据量在飞速增长,如何在使用前对数据容量的增长情况进行初步估算,为最终用户提供参考,这在数据库使用和维护过程中,是非常重要的。可以通过对数据库设计中基本表的数据大小,和每天数据表的数据产生量进行初步估算。记录数据量=各个字段所占字节数的总和表的数据量=记录数据量记录数数据库大小=各表数据量的总和当然,数据库的大小不仅仅只是基本表的大小,还有系统表,视图,存储过程等其它实体所占的容量,但最基本的数据是表的数据。另外,数据库的容量还包括数据库日志文件的容量,一般应预留数据库文件的2倍左右。5、数据库的性能测试应用软件除了功能外,很重要的一部分就是软件的性能,而对于数据库系统,数据库性能的好坏会直接影响应用软件的性能,这部分的测试,一般手工测试就显得无能为力了,这时就要借助自动化的测试软件,例如:DataFactory,DataFactory是一种强大的数据产生器,它允许开发人员和测试人员很容易产生百万行有意义的正确的测试数据库,该工具支持DB2、Oracle、Sybase、SQL Server数据库。这样,就可以模拟出应用软件长期使用后,海量数据存储的数据库的性能状况。从而尽早发现问题,进行数据库性能的优化。这里要注意,进行性能测试的时候,一定要注意测试环境的一致性,包括: *** 作系统、应用软件的版本以及硬件的配置等,而且在进行数据库方面的测试的时候一定要注意数据库的记录数、配置等要一致,只有在相同条件下进行测试,才可以对结果进行比较。否则无法和用户对软件的性能的观点达成一致。6、数据库的压力测试说起测试,我们首先想到的就是软件正确性的测试,即常说的功能测试。软件功能正确仅是软件质量合格指标之一。在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度。影响软件响应速度的因素有很多,有些是因为算法不够高效;还有些可能受用户并发数的影响。在众多类型的软件测试中,压力测试正是以软件响应速度为测试目标,尤其是针对在较短时间内大量并发用户的访问时,软件的抗压能力。但压力测试往往是手工难以测试的,必须借助自动化测试工具。常用的压力测试有:Web测试、数据库测试等。数据库在大多数软件项目中是不可缺少的,对于它进行压力测试是为了找出数据库对象是否可以有效地承受来自多个用户的并发访问。这些对象主要是:索引、触发器、存储过程和锁。通过对SQL语句和存储过程的测试,自动化的压力测试工具可以间接的反应数据库对象是否需要优化。这些自动化的测试工具很多,各有特点,基于Java的项目可以使用JMeter,Net项目可以采用Net集成开发环境中提供的测试方案。7、结束语总之,在应用系统的测试中,把数据库应当作为独立的系统来测试,这无疑会为应用软件的质量增加可靠的保障,同时还必须结合应用软件进行集成测试,只有二者有机结合起来,才能最大限度的发挥数据库和应用软件的功能。

以上就是关于后台开发怎么测bug全部的内容,包括:后台开发怎么测bug、用sql数据库怎么做软件测试、数据库测试的具体测试方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10138644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存