Pages

Saturday, October 15, 2011

UI Checklist

COLORS

Are hyperlink colors standard?
Are the field backgrounds the correct color?
Are the field prompts the correct color?
Are the screen and field colors adjusted correctly for non-editable mode?
Does the site use (approximately) standard link colors?
Are all the buttons are in standard format and size?
Is the general screen background the correct color?
Is the page background (color) distraction free?

CONTENT

All fonts to be the same
Are all the screen prompts specified in the correct screen font?
Does content remain if you need to go back to a previous page, or if you move forward to another new page?
Is all text properly aligned?
Is the text in all fields specified in the correct screen font?
Is all the heading are left aligned
Does the first letter of the second word appears in lowercase? Eg:

IMAGES

Are all graphics properly aligned?
Are graphics being used the most efficient use of file size?
Are graphics optimized for quick downloads?
Assure that command buttons are all of similar size and shape, and same font & font size.
Banner style & size & display exact same as existing windows
Does text wrap properly around pictures/graphics?
Is it visually consistent even without graphics?

INSTRUCTIONS

Is all the error message text spelt correctly on this screen?
Is all the micro-help text(i.e tool tip) spelt correctly on this screen?
Microhelp text(i.e tool tip) for every enabled field & button
Progress messages on load of tabbed(active screens) screens

NAVIGATION

Are all disabled fields avoided in the TAB sequence?
Are all read-only fields avoided in the TAB sequence?
Can all screens accessible via buttons on this screen be accessed correctly?
Does a scrollbar appear if required?
Does the Tab Order specified on the screen go in sequence from Top Left to bottom right? This is the default unless otherwise specified.
Is there a link to home on every single page?
On open of tab focus will be on first editable field
When an error message occurs does the focus return to the field in error when the user cancels it?

USABILITY

Are all the field prompts spelt correctly?
Are fonts too large or too small to read?
Are names in command button & option box names are not abbreviations.
Assure that option boxes, option buttons, and command buttons are logically grouped together in clearly demarcated areas "Group Box"
Can the typical user run the system without frustration?
Do pages print legibly without cutting off text?
Does the site convey a clear sense of its intended audience?
Does the site have a consistent, clearly recognizable "look-&-feel"?
Does User cab Login Member Area with both UserName/Email ID ?
Does the site look good on 640 x 480, 600x800 etc.?
Does the system provide or facilitate customer service? i.e. responsive, helpful, accurate?
Is all terminology understandable for all of the site’s intended users?

Wednesday, October 12, 2011

Good Test Doc

My test verified that:
•The icons and texts in all tabs in the middle pane are up to the requirements in the doc
•The FB tab appearance is in accordance with the rcoTabBinding value
•The FB tab always appears along with the VBro tab
•All existing tabs' function including Facebook tab's are relevant
•Total width of all tabs extend to as much as available in the middle pane, regardless of how many tabs are there
•The width of each tab is generally uniform
•All above remains true and no crash is observed in 'stress' test by clicking around randomly and rapidly

Wednesday, May 4, 2011

Testing cookies

Some Major Test cases for web application cookie testing:

The first obvious test case is to test if your application is writing cookies properly on disk.

Test cases:

1) As a Cookie privacy policy make sure from your design documents that no personal or sensitive data is stored in the cookie.

2) If you have no option than saving sensitive data in cookie make sure data stored in cookie is stored in encrypted format or there is and expiry time/date included

3) Make sure that there is no overuse of cookies on your site under test. Overuse of cookies will annoy users if browser is prompting for cookies more often and this could result in loss of site traffic and eventually loss of business.

4) Disable the cookies from your browser settings: See if appropriate messages are displayed to user like “For smooth functioning of this site make sure that cookies are enabled on your browser”. There should not be any page crash due to disabling the cookies.

5) Accepts/Reject some cookies: The best way to check web site functionality is not to accept all cookies. For executing this test case you can set browser options to prompt whenever cookie is being written to disk. See if pages are getting crashed or data is getting corrupted.

6) Delete cookie: Allow site to write the cookies and then close all browsers and manually delete all cookies for web site under test. Access the web pages and check the behavior of the pages.

7) Corrupt the cookies: Manually edit the cookie and change the parameters to some vague values. Like alter the cookie content Name of the cookie or expiry date of the cookie and see the site functionality.

8 ) Checking the deletion of cookies from your web application page: Some times cookie written by domain say rediff.com may be deleted by same domain but by different page under that domain.

9) Cookie Testing on Multiple browsers

10) If your web application is using cookies to maintain the logging state of any user then log in to your web application using some other username and password. The proper access message should be displayed.
----------------------------


TESTING COOKIES

In simple terms a cookie is information that a web service provider places on a hard drive so it can remember something about its user at a later time. Several ways to test cookies are:


1) Verify cookie is written to disk
2) Verify no personal information is found in cookies
3) Delete cookies
4) Disable cookies
5) Selectively reject cookies
6) Corrupt cookies
7) Cookie encryption
8) Verify cookies follow proper user accounts

Tuesday, April 26, 2011

A good tester

knows different testing strategies and methodologies;
knows how to use tools.(when, where, how);
nice to know programming;
good communication/documentation skills;
personality: patient, practical, detail oriented,team player;
self-motivated to learn new technology, develop new skills.

Monday, April 25, 2011

性能测试(并发负载压力)测试分析(转载)

分析原则:
• 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)
• 查找瓶颈时按以下顺序,由易到难。
服务器硬件瓶颈
网络瓶颈(对局域网,可以不考虑)
服务器操作系统瓶颈(参数配置)
中间件瓶颈(参数配置,数据库, web 服务器等)
应用瓶颈( SQL 语句、数据库设计、业务逻辑、算法等)
注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。

• 分段排除法 很有效

分析的信息来源:
• 1 根据场景运行过程中的错误提示信息
• 2 根据测试结果收集到的监控指标数据


一.错误提示分析
分析实例:

1 • Error: Failed to connect to server “ 10.10.10 .30:8080 ″ : [10060] Connection

• Error: timed out Error: Server “ 10.10.10 .30 ″ has shut down the connection prematurely

分析:
• A 、应用服务死掉。
(小用户时:程序上的问题。程序上处理数据库的问题)

• B 、应用服务没有死
(应用服务参数设置问题)
例:在许多客户端连接 Weblogic 应用服务器被拒绝,而在服务器端没有错误显示,则有可能是 Weblogic 中的 server 元素的 AcceptBacklog 属性值设得过低。如果连接时收到 connection refused 消息,说明应提高该值,每次增加 25 %

• C 、数据库的连接
(1 、在应用服务的性能参数可能太小了 2 、数据库启动的最大连接数(跟硬件的内存有关) )

2 Error: Page download timeout (120 seconds) has expired

分析:可能是以下原因造成
• A 、应用服务参数设置太大导致服务器的瓶颈
• B 、页面中图片太多
• C 、在程序处理表的时候检查字段太大多

二.监控指标数据分析
1 .最大并发用户数:
应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。
在方案运行中,如果出现了大于 3 个用户的业务操作失败,或出现了服务器 shutdown 的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。
如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么 OK 。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。

2 .业务操作响应时间:
• 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。
• 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?
• 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题

3 .服务器资源监控指标:
内存:
1 UNIX 资源监控中指标内存页交换速率( Paging rate ),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。

2 Windows 资源监控中,如果 Process\Private Bytes 计数器和 Process\Working Set 计数器的值在长时间内持续升高,同时 Memory\Available bytes 计数器的值持续降低,则很可能存在内存泄漏。

内存资源成为系统性能的瓶颈的征兆 :

很高的换页率 (high pageout rate);
进程进入不活动状态 ;
交换区所有磁盘的活动次数可高 ;
可高的全局系统 CPU 利用率 ;
内存不够出错 (out of memory errors)

处理器:

1 UNIX 资源监控( Windows 操作系统同理)中指标 CPU 占用率( CPU utilization ),如果该值持续超过 95% ,表明瓶颈是 CPU 。可以考虑增加一个处理器或换一个更快的处理器。如果服务器专用于 SQL Server, 可接受的最大上限是 80-85%
合理使用的范围在 60% 至 70% 。
2 Windows 资源监控中,如果 System\Processor Queue Length 大于 2 ,而处理器利用率( Processor Time )一直很低,则存在着处理器阻塞。


CPU 资源成为系统性能的瓶颈的征兆 :
很慢的响应时间 (slow response time)
CPU 空闲时间为零 (zero percent idle CPU)
过高的用户占用 CPU 时间 (high percent user CPU)
过高的系统占用 CPU 时间 (high percent system CPU)
长时间的有很长的运行进程队列 (large run queue size sustained over time)

磁盘 I/O :

1 UNIX 资源监控( Windows 操作系统同理)中指标磁盘交换率( Disk rate ),如果该参数值一直很高,表明 I/O 有问题。可考虑更换更快的硬盘系统。
2 Windows 资源监控中,如果 Disk Time 和 Avg.Disk Queue Length 的值很高,而 Page Reads/sec 页面读取操作速率很低,则可能存在磁盘瓶径。

I/O 资源成为系统性能的瓶颈的征兆 :
过高的磁盘利用率 (high disk utilization)
太长的磁盘等待队列 (large disk queue length)
等待磁盘 I/O 的时间所占的百分率太高 (large percentage of time waiting for disk I/O)
太高的物理 I/O 速率 :large physical I/O rate(not sufficient in itself)
过低的缓存命中率 (low buffer cache hit ratio(not sufficient in itself))
太长的运行进程队列,但 CPU 却空闲 (large run queue with idle CPU)

4 .数据库服务器:

SQL Server 数据库:

1 SQLServer 资源监控中指标缓存点击率( Cache Hit Ratio ),该值越高越好。如果持续低于 80% ,应考虑增加内存。
2 如果 Full Scans/sec (全表扫描 / 秒)计数器显示的值比 1 或 2 高,则应分析你的查询以确定是否确实需要全表扫描,以及 SQL 查询是否可以被优化。
3 Number of Deadlocks/sec( 死锁的数量 / 秒 ) :死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为 0 。
4 Lock Requests/sec( 锁请求 / 秒 ) ,通过优化查询来减少读取次数,可以减少该计数器的值。

Oracle 数据库:

1 如果自由内存接近于 0 而且库快存或数据字典快存的命中率小于 0.90 ,那么需要增加 SHARED_POOL_SIZE 的大小。
快存(共享 SQL 区)和数据字典快存的命中率:
select(sum(pins-reloads))/sum(pins) from v$librarycache;
select(sum(gets-getmisses))/sum(gets) from v$rowcache;
自由内存: select * from v$sgastat where name= ’ free memory ’ ;

2 如果数据的缓存命中率小于 0.90 ,那么需要加大 DB_BLOCK_BUFFERS 参数的值(单位:块)。

缓冲区高速缓存命中率:
select name,value from v$sysstat where name in (’db block gets’,
‘ consistent gets’,'physical reads’) ;
Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))

3 如果日志缓冲区申请的值较大,则应加大 LOG_BUFFER 参数的值。

日志缓冲区的申请情况 :
select name,value from v$sysstat where name = ‘redo log space requests’ ;

4 如果内存排序命中率小于 0.95 ,则应加大 SORT_AREA_SIZE 以避免磁盘排序 。

内存排序命中率 :
select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name=’sorts (disk)’ and b.name=’sorts (memory)’

注:上述 SQL Server 和 Oracle 数据库分析,只是一些简单、基本的分析,特别是 Oracle 数据库的分析和优化,是一门专门的技术,进一步的分析可查相关资料。

ETL Testing

ETL basically stands for Extract Transform Load - which simply implies the process where you extract data from Source Tables, transform them in to the desired format based on certain rules and finally load them onto Target tables. There are numerous tools that help you with ETL process - Informatica, Control-M being a few notable ones.

So ETL Testing implies - Testing this entire process using a tool or at table level with the help of test cases and Rules Mapping document.

In ETL Testing, the following are prima facie validated -
1) Data File loads from Source system on to Source Tables.
2) The ETL Job that is designed to extract data from Source tables and then move them to staging tables. (Transform process)
3) Data validation within the Staging tables to check all Mapping Rules / Transformation Rules are followed.
4) Data Validation within Target tables to ensure data is present in required format and there is no data loss from Source to Target tables.

check out Service Oriented Architecture (SOA) testing. This will help you better understand how Informatica works and how you should test them.
--------------------------------------------
ETL stands for extract, transform, and load. It can consolidate the scattered data for any organization while working with different departments. It can very well handle the data coming from different departments.
For example, a health insurance organization might have information on a customer in
several departments and each department might have that customer's information listed in a different way. The membership department might list the customer by name, whereas the claims department might list the customer by number. ETL can bundle all this data and consolidate it into a uniform presentation, such as for storing in a database or data warehouse.
ETL can transform not only data from different departments but also data from different sources altogether. For example, any organization is running its business on different environments like SAP and Oracle Apps for their businesses. If the higher management wants to take discussion on their business, they want to make the data integrated and used it for their reporting purposes. ETL can take these two source system data and make it integrated in to single format and load it into the tables.

Generally the normal testing steps are:
• Requirements Analysis
• Testing Methodologies
• Test Plans and approach
• Test Cases
• Test Execution
• Verification and Validation
• Reviews and Walkthroughs

The main difference in testing a ETL is that we basically involve the SQL queries in our test case documents. It is vital to test both the initial loads of the Data
Warehouse from the source i.e. when it gets extracted and then updating it on the target table i.e. the loading step. In specific cases, where trouble shooting is required, we verify intermediate steps as well.

A defect or bug detection can be appreciated if and only if it is detected early and is fixed at the right time without leading to a high cost. So to achieve it, it is very important to set some basic testing rules. They are:
• No Data losses
• Correct transformation rules
• Data validation
• Regression Testing
• Oneshot/ retrospective testing
• Prospective testing
• View testing
• Sampling
• Post implementation

Wednesday, April 20, 2011

电子邮箱相关技术(POP3/SMTP/IMAP/SSL)

POP3服务器主管邮件的收取,SMTP服务器主管邮件的发送。 每一个电子邮件系统都必须同时拥有这两类服务器才能完成信件的收发。


一、POP3

  POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。主要功能是用在传送电子邮件,当我们寄信给另外一个人时,对方当时多半不会在线上,所以邮件服务器必须为收信者保存这封信,直到收信者来检查这封信件。当收信人收信的时候,必须通过POP通讯协定,才能取得邮件。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

二、SMTP

  SMTP(Simple Mail Transfer Protocol)简易邮件传输通讯协议

SMTP是互联网上的一种通讯协议,主要功能是用在传送电子邮件,当我们通过电子邮件程序,寄E-mil给另外一个人时,必须通过SMTP通讯协议,将邮件送到对方的邮件服务器上,等到对方上网的时候,就可以收到你所寄的信。

  SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

  其实简单的说,POP服务器是用来收信的,而且每个E_mail地址一般只有一个。如果你要同时收取多个邮箱的信件,就必须挨个设置每个邮箱的POP3服务器地址。你别告诉我找不到,告诉你一个小窍门吧:在你申请了免费信箱之后,仔细看看它的帮助文件,一般都能找到。至于SMTP服务器,可以理解为就是用来寄信的,而且大多数SMTP服务器也是免费的,也就是说,不管你有无E-mail信箱,只要想寄信,随便填上一个SMTP服务器,就可以寄信了。如果你用Outlook Express或者其它邮件程序发信,又同时拥有多个免费邮箱,不必设置多个SMTP服务器,只要选择一个填上就行了,比如新浪邮件提供的服务器就是:smtp.sina.com.cn。

三、IMAP

  IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。

四、SSL
  SSL的英文全称是 "Secure Sockets Layer” ,中文名为 “ 安全套接层协议层 ”,它是网景( Netscape )公司提出的基于 WEB 应用的安全协议。 SSL 协议指定了一种在应用程序协议(如 HTTP 、 Telenet 、 NMTP 和 FTP 等)和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
SSL VPN 客户端的应用是基于标准 Web 浏览器内置的加密套件与服务器协议出相应的加密方法,即经过授权用户只要能上网就能够通过浏览器接入服务器建立 SSL 安全隧道。
SSL安全服务原来是仅用于网易收费邮箱的。现在126、163都应用了
网易免费邮箱的SSL安全服务使用起来非常简单,只需在邮箱web页面(例如126免费邮www.126.com)的常规登陆入口处选择“安全”模式既可。SSL是一种成熟、可靠的邮箱安全技术,能够最有效地保护用户的机密信息,彻底杜绝从浏览器到服务器之间密码被非法窃取和篡改的现象。

五、IMAP与POP有什么不同?

  POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
  同时,IMAP像POP那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。此外,IMAP 更好地支持了从多个不同设备中随时访问新邮件。

  总之,IMAP 整体上为用户带来更为便捷和可靠的体验。POP 更易丢失邮件或多次下载相同的邮件,但 IMAP 通过邮件客户端与webmail 之间的双向同步功能很好地避免了这些问题。