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

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

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

一.测试步骤注意

测试前准备:

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

测试环境部署:

      需要提前考虑,分配的资源是否满足当前需求,多大的资源是合理的,有哪些风险.比如存储文件的文件夹空间是否充足.(倘若此时环境,不是由我们部署,我们也最好搞清楚资源的分配情况,比如测试环境的内存多大?线上环境服务器的内存多大?现在我们测试环境的中转机的内存只有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.表空间不足:

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


一阶段测试总结:2016/8/8_第1张图片

创建表空间:

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)