Testing
troubleshooting steps for connection test
find the problem occurred: (1) local service at the server (localhost) (2) from LAN to server (3) from WAN to server
(1) local service
WAN ○ -------> ○ LAN -------> ● server
Testing on localhost if you have the administrative permission to manage the server.
- Check if your computer/server Is being assigned the IP Address.
- Linux : (1) Check the IP Address. ifconfig. (2) Re-assign the IP Address and restart the networking service. service network restart for CentOS[1]
- Win : Check the IP Address. ifconfig/all
- More on Network problem
- Is service alive? Is the port occupied by other process?
- Is the port open to external users? OS firewall or protected by antivirus software.
- Linux
- iptables: (1) iptables -L to list all rules[4] (2) rule with smaller line-number will override the rule with larger line-number[5]
- FirewallD rules: (1) sudo firewall-cmd --get-default-zone return 'public' (2) sudo firewall-cmd --list-all --zone=public[6] (3) Allow port with FirewallD
- SELinux Policy Management: (1) After installed policycoreutils-python[7], input semanage port -l to list open ports. (2) Allow port with semanage.
- Win Windows Firewall with Advanced Security -> configure firewall rules
- protected by antivirus software?
- Linux
- connect to localhost ex: telnet 127.0.0.1 23 where 23 is the port number where the service running
- Install Telnet Client on Win
- if the local service is web server, you can also try lynx http://127.0.0.1 for Linux
- double check the server/service logs
(2) from LAN to server
WAN ○ -------> ● LAN -------> ● server
- testing on LAN (local network, subnet scope): Is service alive? The different servers between LAN or with the same ip class (ex: 1.2.3.*) may not have the firewall limit.
- connect to localhost ex: telnet 172.18.0.1 23 (1) IP start with 172.18... is Private IP Network Numbers (2) where 23 is the port number where the service running
- double check the server/service logs
(3) from WAN to server
WAN ● -------> ● LAN -------> ● server
We met the trouble on WAN (wide area network). If we do no have the administrative permission, the tests we can do as follows:
- Down for everyone or just me? more on Web Ping
- Switch to different ISP? Is hardware firewall enabled?
- Is gateway alive?
- Is DNS alive?
- Is the external IP correct?
- If the firewall rule is IP specified, verify the IP if correct from What Is My IP Address? or web access log.
other issue:
- bandwidth cost too much by certain users
- exceed the request limit of (hardware) firewall
- the external connection of updated Windows was down until reboot Win
- Amazon EC2 security group
- refresh browser cache: Refresh your cache - When hitting F5 just isn't enough!
connection test
case 1: Access the server from outside network ex: WAN
Where are you? Access the server from outside network ex: Wide Area Network (WAN) or Local Area Network (LAN)
open the browser from outside network ex: Wide Area Network (WAN) or Local Area Network (LAN)
- and type the address: http://the.domain Note: Not Private network / Private IP address
- 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"
tools
- Check server: Check host - online website monitoring, Check IP "checks the possibility of a TCP connection to host's specified port from different locations around the world." quoted from website. [Last visited: 2015-08-02]
case 2: Access the server from inside ex: localhost or Local LAN
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. it may returned wrong result if the server hosted with shared external IP
- Linux command:
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 [10] or netstat -npl | grep 3306[11] 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
user client node
browser & device issue
- Browser version: Check Browser Compatibility & Validation service or Validator: Check Markup or CSS syntax
- Multiple screen resolution test: 不同螢幕解析度檢視網頁
- Mobile friendliness tool
- Disable all extensions
- Clear browser cache by Bypass your cache (繞過瀏覽器快取)
- Client temporary files
- Clear server cache ex: Smarty Caching
online IDE
- code snippet web-based editor / communication tools between developers/designers
- codepad [Last visited: 2012-10-02] [Last visited: 2014-10-07]
- 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[12]
- jsFiddle [Last visited: 2014-10-07]
- Plunker [Last visited: 2014-10-07]
- database testing
- Ideone.com support SQL not support REGEXP function [Last visited: 2015-03-09]
- SQL fiddle support MySQL, MS SQL server, Oracle, PostgreSQL, SQLite ... data may not showed in couple days [Last visited: 2015-03-09]
- Save or share source codes
- Pastie with syntax highlighting
- Pastebin.com - #1 paste tool since 2002!
- Tinypaste - The easiest way to host your text
browser 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
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 or generating the HTTP request sent to the server
HTTP request and response data tool
domain name issue
Modify the following files if you want to test the domain name before the mapping of domain name and ip was changed really
- C:\WINDOWS\system32\drivers\etc\hosts for Win XP, Win7[13], Win 10 & Windows Server 2008 R2 Standard
- C:\WINNT\system32\drivers\etc\hosts for Windows 2003 server
- /etc/hosts for Linux
127.0.0.1 localhost # ip domain.com
- /private/etc/hosts for Mac [14]
Clear the DNS cache
- How Do I Clear My DNS Cache on Windows? | Support | No-IP for Win
- Reset the DNS cache in OS X - Apple Support for Mac
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
login issues into different accounts
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.[15]
- 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.
database issue
- SQL
- SQL Fiddle support MySQL, MS SQL, Oracle, PosgreSQL, SQLite ...
server environment
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 (記錄檔)[16]
- 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) [17]
[mysqld] ## includes all SQL queries/commands # 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
- ExpressProfiler includes all SQL queries/commands
- SQL Server Error Log / 檢視 SQL Server 錯誤記錄 "contains user-defined events and certain system events ..." quoted from SQL Server Error Log ex: X:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
- Logging ALL Queries on a SQL Server 2008 Express Database? - Stack Overflow not tested
Other
PHP
Java
System.out.println("Boston, We Have A Problem" + variable); //output to Tomcat consile out.println("Boston, We Have A Problem" + variable); //output to JSP webpage
or using NetBeans IDE - Debugger and Profiler to setup the breakpoints.
console command
//write the console output to the file command > log.txt //append to the same file command >> log.txt
find match string
- Desktop search: Search text in files
- If the message text or code snippets was not found in the plain text files, it may stored in the database.
- Comment Syntax
- 設定中斷點
related terms
- functional testing
templates
references
- ↑ How to restart the networking service? - Ask Ubuntu
- ↑ 7 Linux Grep OR, Grep AND, Grep NOT Operator Examples
- ↑ How to solve WAMP and Skype conflict on Windows 7? - Stack Overflow
- ↑ HowTos/Network/IPTables - CentOS Wiki
- ↑ How to edit iptables rules - FedoraProject
- ↑ How To Set Up a Firewall Using FirewallD on CentOS 7 | DigitalOcean
- ↑ semanage command not found on CentOS 7 and RHEL 7
- ↑ Install and Use Lynx Browser on Ubuntu
- ↑ Lynx Users Guide v2.8.7
- ↑ Netstat
- ↑ Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port
- ↑ The Will Will Web - 介紹好用工具:JS Bin ( 網站前端工程師的學習利器 )
- ↑ Azan 黃贊臣 » 在Windows 7 或 Vista 中修改hosts檔的方法
- ↑ How to Edit the Hosts File on Mac OS X - TekRevue
- ↑ Private Browsing - Browse the web without saving information about the sites you visit | Firefox Help
- ↑ (ASP.NET)從Log追蹤錯誤 - gipi的學習筆記-職場規劃、專案管理、雲端運算部落格- 點部落
- ↑ 找出 MySQL 哪些 Query 速度較慢 | Tsung's Blog
further reading
- Troubleshooting browser issues with Trello - Trello Help [Last visited: 2017-03-28]
- Supported browsers and troubleshooting steps for Asana | Product guide · Asana [Last visited: 2017-03-28]
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