Testing
Test connectivity to the web service
find the problem occurred: (1) local service at the server (localhost) (2) from LAN to server (3) from WAN to server
Connecting from the local server to 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 opened for 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
Connecting from LAN to the server
WAN ○ -------> ● LAN -------> ● server
Testing on LAN (local network, subnet scope): The different servers between LAN or with the same ip class (ex: 1.2.3.*) may not have the firewall limit.
- Is the service alive?
- Connect to the internal IP eg: 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
- If the local service is web server, you can also try to connect the internal IP e.g. lynx http://172.18.0.1 for Linux
- Double check the server/service logs
Connecting from WAN to the 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.
- Query the IP Address Details - ipinfo.io. e.g. Input the command curl ipinfo.io/ip[8] for Mac & Linux
- Is the port was opened for external users? Open Port Check Tool - Port Forwarding Port Check Tool
- Is institutional/ISP firewall enabled? Contact your MIS. (Management information system) of your company or ISP?
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
Using alternative web services if the Python was installed
- (for python 2.x) python -m SimpleHTTPServer <port>[9]
- (for python 3.x) python -m http.server <port>[10]
Using telnet client
- (optional) Install Telnet Client | Microsoft Docs on Win . Bring telnet back on macOS high Sierra – Ayuth Mangmesap (blackSource) – Medium on Mac
- 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"
curl
- curl -v -o /dev/null http://IP:Port If failed. It will show the message: "failed: 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 [13] or netstat -npl | grep 3306[14] 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
- Google Chrome: How to Disable Cache
- Clear server cache ex: Smarty Caching
Online IDE
Programming online (Online IDE)
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[15], Win 10 & Windows Server 2008 R2 Standard
- On Windows 2003 server: edit the file located at C:\WINNT\system32\drivers\etc\hosts
- On Linux , input the command sudo vi /etc/hosts
127.0.0.1 localhost # ip domain.com
- On Mac , input the command sudo vi /private/etc/hosts [16]
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.[17]
- 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 (記錄檔)[18]
- C:\WINDOWS\system32\LogFiles\
Database server
MySQL
- step1: verify the system variable[19]
mysql> SHOW VARIABLES LIKE '%general_log%'; mysql> SHOW GLOBAL VARIABLES LIKE '%general_log%';
- step2: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) [20]
[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
- step3: 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
- 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
- ↑ networking - Command for determining my public IP? - Ask Ubuntu
- ↑ 20.19. SimpleHTTPServer — Simple HTTP request handler — Python 2.7.17 documentation
- ↑ http.server — HTTP servers — Python 3.8.1 documentation
- ↑ 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
- ↑ 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 :: MySQL 5.7 Reference Manual :: 13.7.5.39 SHOW VARIABLES Syntax
- ↑ 找出 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]
- ngrok - secure introspectable tunnels to localhost [Last visited: 2020-02-20]
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