Testing
Web site design and development process
- Information gathering: Research surveys
- Planning: Before you start to build a website, Content development strategy | Register domain name, Choose web hosting | Information architecture | Data model: Data type, Data flow | Documentation: Request For Proposal | Licensing
- Design: CSS tools, Free fonts, Free photos, Emoji & icons
- Testing & delivery: Usability test, check browser compatibility | Web testing | Speed up websites: Web Ping, Software acceptance test plan | Promote your web
- Maintenance: Site backup & restore test, Software update (OS patch or CMS security update)
- Need help? Community, I need inspiration, Web design glossary
connection test
case 1: Where are you? Wide Area Network (WAN) or Local Area Network (LAN)
open the browser
- and type the address: http://the.domain
- or use the remote website monitoring services: Web Ping
telnet
- telnet DOMAIN_or_IP PORT ex: telnet the.domain 80
- If connected. The console windows will show the message "Escape character is '^]'. " for Linux . Or show a blank window for Win If you want to end the telnet command. You can (1) press Ctrl + ] and (2) keyin quit to end the telnet.
- If failed. It will show the message: "telnet: Unable to connect to remote host: Connection refused"
case 2: Where are you? localhost where the application located
If you has permission to log in the server via SSH or Remote desktop service.
- (1)open the browser, (2)type the address: http://127.0.0.1
- Open Port Check Tool: Using browser to check the specified port of local machine from canyouseeme.org.
- Linux command: lynx http://127.0.0.1 [1] for Linux
telnet
- telnet 127.0.0.1 80
- (after telnet-ed the web 80 port, key in) get + SPACE
- more on HTTP Check Port 80 with the Telnet Command
netstat ex: find MySQL 3306 port
- netstat -a | find "3306" (note: require the double quote symbol, not single quote symbol) for Win [2] or netstat -npl | grep 3306[3] for Linux
- more on List open ports and listening services
tools
- CurrPorts: Monitoring TCP/IP network connections on Windows
- PFPortCheck Program: check TCP/UDP port from localhost(where you installed the program) to portforward.com
- TCPView for Windows
troubleshooting steps
We met the trouble on WAN
- testing on WAN: Down for everyone or just me? Check by Web Ping
- testing on localhost:
- Is service alive?
- server with iptable limit? protected by antivirus?
- testing on LAN: Is service alive? The servers between LAN or with the same ip class (ex: 1.2.3.*) often without firewall limit.
- find the problem occurred: (1)local service (2)server to LAN (3)server to WAN
- other issue:
- bandwidth cost too much by certain users,
- exceed the request limit of firewall
user client node
browser issue
- browser version: Check Browser Compatibility & Validation service or Validator: Check Markup or CSS syntax
- clear browser cache
- client temporary files
- clear server cache ex: Smarty Caching
- code snippet web-based editor / communication tools between developers/designers
- codepad [Last visited: 2012-10-02]
- CSSDesk HTML, CSS [Last visited: 2013-02-11]
- The first commented line is your dabblet’s title ✿ dabblet.com: view the sample of html and css [Last visited: 2012-08-22]
- Ideone.com "Online IDE & Debugging Tool >> C/C++, Java, PHP, Python, Perl and 40+ compilers and interpreters"
- JS Bin - Collaborative JavaScript Debugging: HTML, CSS, Javascript
- jsFiddle
- Pastie with syntax highlighting
plug-ins issue
- Test your Adobe Flash Player installation
- Adobe - Test Adobe Shockwave Player
- test java: How do I test whether Java is working on my computer?
e-mail testing issue
Using the following e-mail service with name alias or alternative name function
- Google Gmail: plus sign the plus sign is not allowed by some services
- Windows Live™ Hotmail: Alias / 在一個收件匣建立多個別名 [Last visited: 2012-03-30]
monitoring the status or changes of files or registry
- FileMon for Windows / Filemon v7.04 - 檔案即時監控 :: 綠色工廠 Easylife Blog
- RegMon for Windows / RegMon v7.04 - 註冊表監控 :: 綠色工廠 Easylife Blog
monitoring the HTTP request sent to the server
HTTP request and response data tool
domain name issue
Modify the following before the domain changed if you want to test the domain name
- C:\WINDOWS\system32\drivers\etc\hosts for Win XP, Win7[4]
- C:\WINNT\system32\drivers\etc\hosts for Windows 2003 server
- /etc/hosts for Linux
127.0.0.1 localhost # ip domain.com
more on DNS checking
handling form data
before submit the form data
- (1)Use the Web Developer plugin for Firefox and (2)Menu -> Forms -> Display form details
after submit the form data
- PHP var_dump $_POST 或 $_GET
- .serialize() | jQuery API Documentation
account login issue
If you need to clear the cookie frequently for the testing account issue
- Using the privacy browsing for Firefox & Chrome . Each time you turning on the privacy browsing, the logged status and cookie will not saved.[5]
- Manually clear cookie and temporary files of browser
file upload
- Generate a File - Fake File Generator allow to specify the filesize
excel format compatibility
Using Microsoft Excel Viewer to check the excel format compatibility. It's not save to check the excel file only by using the old version of Excel.
local server node (if you has permission to log in the server via SSH or Remote desktop service)
check the server/service logs
OS
Microsoft Windows
- XP / Vista: 控制台 --> 系統管理工具 --> 事件檢視器
- 事件和錯誤訊息中心: 基本搜尋
Web server
Apache
Apache HTTP server log: /etc/httpd/logs (location was set up in the configuration file /etc/httpd/conf/httpd.conf)
- access.log
- error.log - record when the apache service restarted/stopped
Using grep command to search the logs: grep -ir "string to search" /path/to/directory. More on Search text in files
IIS
Microsoft Internet Information Services (IIS) log (記錄檔)[6]
- C:\WINDOWS\system32\LogFiles\
Database server
MySQL
- step1: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) [7]
[mysqld] ## include sql command # general_log = 1 # general_log_file="general_log_file.log" log-error=/var/log/mysql/error.log log-slow-queries = /var/log/mysql/mysql-slow.log #another syntax #slow_query_log_file = mysql-slow.log long_query_time = 1 log-long-format
- step2: restart MySQL service
Microsoft SQL Server
Logging ALL Queries on a SQL Server 2008 Express Database? - Stack Overflow
Other
PHP
native error logging
- PHP log: check the configuration file: /etc/php.ini (the location of configuration file can be verified by phpinfo() )
(for production site) unmark theese lines in the php.ini and restart Apache service
log_errors = On error_log = "php_error.log"
(for development site) using error_reporting
error_reporting(E_ALL);
capture the result of var_dump: ob_start
ob_start(); var_dump($some_variable); $result = ob_get_clean(); error_log($result, 3, 'd:/result.log');
QuickForm
$result = var_dump($some_variable); $form->addElement('html', $result);
show the line number and filename
echo 'Houston, we've had a problem '. __line__ . ' ' . __FILE__ ."<br />";
more on PHP: Magic constants
Java
System.out.println("Boston, We Have A Problem" + variable);
find match string
- Desktop search: Search text in files
- Comment Syntax
- 設定中斷點
related terms
- functional testing
references
- ↑ Lynx Users Guide v2.8.7
- ↑ Netstat
- ↑ Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port
- ↑ Azan 黃贊臣 » 在Windows 7 或 Vista 中修改hosts檔的方法
- ↑ Private Browsing - Browse the web without saving information about the sites you visit | Firefox Help
- ↑ (ASP.NET)從Log追蹤錯誤 - gipi的學習筆記-職場規劃、專案管理、雲端運算部落格- 點部落
- ↑ 找出 MySQL 哪些 Query 速度較慢 | Tsung's Blog