美文网首页
一阶段测试总结:2016/8/8

一阶段测试总结:2016/8/8

作者: 龙葵1992 | 来源:发表于2018-12-08 15:19 被阅读0次

    到两年前笔记,当时的有些内容还是仍旧具有学习意义,再次整理发出来。

    分为测试步骤注意、知识积累与问题集锦二个方面进行总结.

    一.测试步骤注意

    测试前准备:

          之前一定详细分析需求文档(包括每一个字段,每一个约束,在交流需求的时候,有针对性地关注隐藏约束),并且测试过程中,遇到不清楚的情况,积极与开发交流.

    测试环境部署:

          需要提前考虑,分配的资源是否满足当前需求,多大的资源是合理的,有哪些风险.比如存储文件的文件夹空间是否充足.(倘若此时环境,不是由我们部署,我们也最好搞清楚资源的分配情况,比如测试环境的内存多大?线上环境服务器的内存多大?现在我们测试环境的中转机的内存只有30多个G,线上有200G,这样的差距,对于发现问题而言,是否有意义??)

    着手测试:

          不要盲目开始测试,首先测试最简单的最常用的场景(P1级别),再分析哪些用例在前提环境下相同,可以复用,或者一条用例需要依赖另外一条用例执行,做好分析,再执行.

    测试中:

         不能太乱,思路清晰,不然发现问题,无法复现,并且极易造成返工.另外,测试过程中遇到极易出错的地方 ,也要相互交流(踩过的坑,提醒测试伙伴不要再跳),加快小组效率.

    测试遇见问题:

    1)与开发交流过程中,一定注意表达,不能一开始就直指是开发的程序有问题,换位思考,很容易引发矛盾.

    2)遇见问题,与开发交流后,一定要主动持续推进(不然,开发可能有其他的任务,并不会尽快定位)

    5.做好记录.

          在测试的过程中,遇到的程序错误情况,以及原因.做好记录.特别是在我们这种快速成长的过程,也许现在遇到每个错误,都觉得很陌生,但是保持记录,形成印象,以后可以加快定位分析问题.

    6.总结与沉淀

         哪些常用的技能可以写成脚本,进行复用:比如构建大表,插入数据的过程.又比如马上要执行的数据质量监控50个并发(如果字段全部要手动添加,时间成本太大,写个脚本自动生成有细微差别的curl命令)

    二.知识积累与问题集锦

    感觉大部分都在与数据库产生的问题对抗……也反映出这部分知识的迫切欠缺.

    1.mysql上常用命令:

    进入mysql   :   mysql -p

    显示当前database   :   show databases

    使用database   :   use databases

    创建database  :   create database  name

    2.遇见mysql字符集问题:

    显示当前使用的字符集: show variables like 'character_set_%'

    建表时指定CHARACTER SET utf8 COLLATE utf8_general_ci;

    显示当前的建表语句:show create table channelinfomysql\G;

    3. oracle上操作表:

    su – oracle

    sqlplus进入sql命令行

    在sqlplus里面编写shell脚本可以通过如下命令:

    host vi test.sh

    @test.sh运行脚本

    建表时,某一字段采用系统时间:

    CREATE TABLE Orders

        (

         order_num  int      NOT NULL ,

         date_order date default sysdate   NOT NULL ,

        cust_id    char(10) NOT NULL

        );

    添加字段

    alter table mid_contactinfo add(status varchar(20),createdate varchar(50),modifydate varchar(50));

    修改字段

    alter table mid_contactinfo modify(status varchar(100),createdate date,modifydate date);

    4.数据库 ORA-03113: end-of-file on communication channel

    原来是大批量的数据插入导致闪回空间不足, 最常用的办法删除不需要的归档日志文件或者增加闪回空间大小(db_recovery_file_dest_size)

    oracle运行dml的时候会占用undo和flashrecovery

    5.临时表空间不足:

         复制大表时(17G)出现临时表空间不足的问题.

        设置临时表空间为自动增长:

    步骤

    切换管理员身份 :

    sqlplus / as sysdba

    查看临时表空间动态视图:

    select * from v$tempfile;

    alter database tempfile '/u01/app/oracle/oradata/orcl/temp01.dbf' autoextend on next 5m maxsize unlimited;

    6.表空间不足:

    建表时 ,出现表空间不足错误

    创建表空间:

    create tablespace data01 DATAFILE '/oracle/oradata/da/DATA01.dbf' SIZE 500M UNIFORM SIZE 128K

    将原有的表移动到新建的表空间:

    alter table tablename move tablespace tbsname; 

    建表时指定表空间:

    create table A01

    (

      col1 VARCHAR2(2),

      col2 VARCHAR2(2) default 'Y'

    )

    tablespace tsp1

    7.no  collection 的错误.

    对数据库进行操作后  要commit ;

    不要一次性插入大量数据  而不commit,最好每500行数据commit一次,,不然有可能会报错

    8. 文件存放根节点user占用已满,报错:no space left

    需要记录常用的java异常报错:

    java.lang.OutOfMemoryError: GC overhead limit exceeded

    当GC为释放很小空间占用大量时间时抛出。

    一般是因为堆太小。导致异常的原因:没有足够的内存。

    解决方案:

    1、查看系统是否有使用大内存的代码或死循环。

    2、可以添加JVM的启动参数来限制使用内存:-XX:-UseGCOverheadLimit

    OOM大家都知道,就是JVM内存溢出了,那GC overhead limit exceed呢?

    通过统计GC时间来预测是否要OOM了,提前抛出异常,防止OOM发生

    修改了jvm 4G   加上了gc limit

    GC overhead limt exceed检查是Hotspot VM 1.6定义的一个策略,通过统计GC时间来预测是否要OOM了,提前抛出异常,防止OOM发生。

    java.io.EOFException: Can not read response from server. Expected to read 255 bytes, read 0 bytes before connection was unexpectedly lost.

    网络连接异常了,包丢失了.

    相关文章

      网友评论

          本文标题:一阶段测试总结:2016/8/8

          本文链接:https://www.haomeiwen.com/subject/anseqqtx.html