Testing: Difference between revisions

Jump to navigation Jump to search
1,221 bytes removed ,  14 August 2023
m
no edit summary
mNo edit summary
 
(161 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:Build a website}}


== Test connectivity for the web service ==
[[Test connectivity for the web service]]


== connection test ==
== user client node ==
=== case 1: Where are you? Wide Area Network (WAN) or Local Area Network (LAN) ===
open the browser
* and type the address: {{kbd | key =<nowiki>http://the.domain</nowiki>}}
* or use the remote website monitoring services: [[Web Ping]]
 
telnet
* telnet ''DOMAIN_or_IP'' ''PORT'' ex: {{kbd | key = telnet the.domain 80}}
 
=== 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: {{kbd | key = <nowiki>http://127.0.0.1</nowiki> }}
* {{Gd}} [http://www.canyouseeme.org/ Open Port Check Tool]: ''Using browser'' to check the specified port of local machine from canyouseeme.org.
* Linux command: {{kbd | key = <nowiki>lynx http://127.0.0.1</nowiki>}} <ref>[http://lynx.isc.org/lynx2.8.7/lynx2-8-7/lynx_help/Lynx_users_guide.html Lynx Users Guide v2.8.7]</ref> for {{Linux}}
 
telnet
# {{kbd | key = telnet 127.0.0.1 80}}
# (after telnet-ed the web 80 port, key in) {{kbd_plus | key1 = get | key2 = SPACE}}
# more on [http://www.simplescripts.de/http-check-port-80-telnet-command.htm HTTP Check Port 80 with the Telnet Command]
 
netstat ex: find MySQL 3306 port
# {{kbd | key = <nowiki>netstat -a | find "3306"</nowiki>}} (note: require the '''double quote''' symbol, not single quote symbol) for {{Win}}<ref>[http://technet.microsoft.com/en-us/library/bb490947.aspx Netstat]</ref> or {{kbd | key = <nowiki>netstat -npl | grep 3306</nowiki>}}<ref>[http://www.cyberciti.biz/faq/find-out-which-service-listening-specific-port/ Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port]</ref> for {{Linux}}
# more on [http://www.techrepublic.com/blog/security/list-open-ports-and-listening-services/443 List open ports and listening services]
 
tools
# {{Gd}} [http://www.nirsoft.net/utils/cports.html CurrPorts: Monitoring TCP/IP network connections on Windows]
# [http://portforward.com/help/portcheck.htm PFPortCheck Program]: check TCP/UDP port from localhost(where you installed the program) to portforward.com
# [http://technet.microsoft.com/en-us/sysinternals/bb897437 TCPView for Windows]


=== troubleshooting steps ===
=== browser & device issue ===
We met the trouble on WAN
* Browser version: [[Check Browser Compatibility]] & Validation service or [[Validator]]: Check Markup or CSS syntax
* testing on WAN: Down for everyone or just me? Check by [[Web_Ping#同時從世界各處測試網站連線 | Web Ping]]
* Multiple screen resolution test: [[CSS_tools#不同螢幕解析度檢視網頁 | 不同螢幕解析度檢視網頁]]
* testing on localhost:
* [[Mobile friendliness tool]]
** Is service alive?
* Disable all extensions
** with iptable limit? antivirus limit?
* Clear browser cache by [http://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache Bypass your cache] ([http://zh.wikipedia.org/wiki/Help:%E7%BB%95%E8%BF%87%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98 繞過瀏覽器快取])
* testing on LAN: Is service alive? (the servers between LAN often without firewall limit)
** Client temporary files
** double [[Testing#check_the_server.2Fservice_logs | check the server/service logs]]
** [https://www.technipages.com/google-chrome-how-to-completely-disable-cache Google Chrome: How to Disable Cache]
* find the problem occurred: (1)local service (2)server to LAN (3)server to WAN
* Clear server cache ex: [http://www.smarty.net/manual/en/caching.php Smarty Caching]
* other issue:  
** bandwidth cost too much by certain users,
** exceed the request limit of firewall
 
== user client node ==


=== browser issue ===
==== Online IDE ====
* browser version: [[Check Browser Compatibility]] & Validation service or [[Validator]]: Check Markup or CSS syntax
[[Programming online (Online IDE)]]
* clear browser cache
** client temporary files
** clear server cache ex: [http://www.smarty.net/manual/en/caching.php Smarty Caching]
* code snippet web-based editor / communication tools between developers/designers
** [http://codepad.org/ codepad] {{access | date=2012-10-02}}
** [http://cssdesk.com/ CSSDesk] HTML, CSS {{access | date=2013-02-11}}
** [http://dabblet.com/ The first commented line is your dabblet’s title ✿ dabblet.com]: view the [http://dabblet.com/gist/2779082 sample] of html and css {{access | date = 2012-08-22}}
** [http://ideone.com/ Ideone.com] "Online IDE & Debugging Tool >> C/C++, Java, PHP, Python, Perl and 40+ compilers and interpreters"
** [http://jsbin.com/ JS Bin - Collaborative JavaScript Debugging]: HTML, CSS, Javascript
** [http://jsfiddle.net/ jsFiddle]
* [http://pastie.org/ Pastie] with syntax highlighting


=== plug-ins issue ===
=== browser plug-ins issue ===
* [http://www.adobe.com/software/flash/about/ Test your Adobe Flash Player installation]
* [http://www.adobe.com/software/flash/about/ Test your Adobe Flash Player installation]
* [http://www.adobe.com/shockwave/welcome/ Adobe - Test Adobe Shockwave Player]
* [http://www.adobe.com/shockwave/welcome/ Adobe - Test Adobe Shockwave Player]
Line 66: Line 24:


=== e-mail testing issue ===
=== e-mail testing issue ===
Using the following e-mail service with name alias or alternative name function
[[Email testing]]
* [https://gmail.google.com/ Google Gmail]: plus sign {{exclaim}} the plus sign is not allowed by some services
* [http://get.live.com/mail/overview Windows Live™ Hotmail]: [http://windows.microsoft.com/zh-TW/hotmail/conquergraymail/advanced/alias Alias] / 在一個收件匣建立多個別名 {{access | date=2012-03-30}}


=== monitoring the status or changes of files or registry ===
=== monitoring the status or changes of files or registry ===
Line 74: Line 30:
* [http://technet.microsoft.com/en-us/sysinternals/bb896652 RegMon for Windows] / [http://portable.easylife.tw/101 RegMon v7.04 - 註冊表監控 :: 綠色工廠 Easylife Blog]
* [http://technet.microsoft.com/en-us/sysinternals/bb896652 RegMon for Windows] / [http://portable.easylife.tw/101 RegMon v7.04 - 註冊表監控 :: 綠色工廠 Easylife Blog]


=== monitoring the HTTP request sent to the server ===
=== monitoring or generating the HTTP request sent to the server ===
[[HTTP request and response data tool]]
[[HTTP request and response data tool]]


=== domain name issue ===
=== domain name issue ===
Modify the following before the domain changed if you want to test the domain name
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<ref>[http://tommy.ironman.tw/windows-7-vista-hosts-error/ Azan 黃贊臣 » 在Windows 7 或 Vista 中修改hosts檔的方法]</ref>
* C:\WINDOWS\system32\drivers\etc\hosts for {{win}} XP, Win7<ref>[http://tommy.ironman.tw/windows-7-vista-hosts-error/ Azan 黃贊臣 » 在Windows 7 或 Vista 中修改hosts檔的方法]</ref>, Win 10 & Windows Server 2008 R2 Standard
* C:\WINNT\system32\drivers\etc\hosts for Windows 2003 server
* On Windows 2003 server: edit the file located at {{kbd | key=<nowiki>C:\WINNT\system32\drivers\etc\hosts</nowiki>}}
* {{kbd | key=<nowiki>/etc/hosts</nowiki>}} for {{Linux}}
* On {{Linux}}, input the command {{kbd | key=<nowiki>sudo vi /etc/hosts</nowiki>}}
<pre>
<pre>
127.0.0.1      localhost
127.0.0.1      localhost
# ip            domain.com
# ip            domain.com
</pre>
</pre>
* [http://mxtoolbox.com/ MX Lookup Tool - Check your DNS MX Records online - MxToolbox]
* On {{Mac}}, input the command {{kbd | key=<nowiki>sudo vi /private/etc/hosts</nowiki>}} <ref>[https://www.tekrevue.com/tip/edit-hosts-file-mac-os-x/ How to Edit the Hosts File on Mac OS X - TekRevue]</ref>
 
 
Clear the DNS cache
* [http://www.noip.com/support/knowledgebase/how-do-i-flush-my-windows-dns-cache/ How Do I Clear My DNS Cache on Windows? | Support | No-IP] for {{Win}}
* [https://support.apple.com/en-us/HT202516 Reset the DNS cache in OS X - Apple Support] for {{Mac}}
 
more on [[Web_Ping#DNS.E6.AA.A2.E6.9F.A5 | DNS checking]]


=== handling form data ===
=== handling form data ===
Line 97: Line 60:




=== account login issue ===
=== login issues into different accounts ===
If you need to clear the cookie frequently for the testing account issue
If you need to clear the cookie frequently for the testing account issue
* Using the privacy browsing for {{Fx}} & {{Chrome}}. Each time you turning on the privacy browsing, the logged status and cookie will not saved.<ref>[http://support.mozilla.org/en-US/kb/private-browsing-browse-web-without-saving-info Private Browsing - Browse the web without saving information about the sites you visit | Firefox Help]</ref>
* Using the privacy browsing for {{Fx}} & {{Chrome}}. Each time you turning on the privacy browsing, the logged status and cookie will not saved.<ref>[http://support.mozilla.org/en-US/kb/private-browsing-browse-web-without-saving-info Private Browsing - Browse the web without saving information about the sites you visit | Firefox Help]</ref>
* Manually clear cookie and temporary files of browser
* Manually clear cookie and temporary files of browser
=== file upload ===
* [http://www.fakefilegenerator.com/generate-file.php Generate a File - Fake File Generator] allow to specify the filesize


=== excel format compatibility ===
=== excel format compatibility ===
Using Microsoft [http://www.microsoft.com/en-us/download/details.aspx?id=10 Excel Viewer] to check the excel format compatibility. {{exclaim}} It's not save to check the excel file only by using the old version of Excel.
Using Microsoft [http://www.microsoft.com/en-us/download/details.aspx?id=10 Excel Viewer] to check the excel format compatibility. {{exclaim}} It's not save to check the excel file only by using the old version of Excel.
=== database issue ===
* SQL
** [http://sqlfiddle.com/ SQL Fiddle] support MySQL, MS SQL, Oracle, PosgreSQL, SQLite ... {{Gd}}
== server environment ==
[[Testing server environment]]


== local server node (if you has permission to log in the server via SSH or Remote desktop service) ==
== local server node (if you has permission to log in the server via SSH or Remote desktop service) ==


=== check the server/service logs ===
check the server/service logs
=== OS ===
==== Microsoft Windows ====
** XP / Vista: 控制台 --> 系統管理工具 --> 事件檢視器
** [http://www.microsoft.com/technet/support/ee/ee_basic.aspx 事件和錯誤訊息中心: 基本搜尋]
 
=== Web server ===
==== Apache ====
==== Apache ====
[http://httpd.apache.org/ Apache HTTP server] log: /etc/httpd/logs  (location was set up in the configuration file /etc/httpd/conf/httpd.conf)
[http://httpd.apache.org/ Apache HTTP server] log: /etc/httpd/logs  (location was set up in the configuration file /etc/httpd/conf/httpd.conf)
Line 114: Line 94:
Using grep command to search the logs: {{kbd | key=<nowiki>grep -ir "string to search" /path/to/directory</nowiki>}}. More on [[Desktop_search#Search_text_in_files| Search text in files]]
Using grep command to search the logs: {{kbd | key=<nowiki>grep -ir "string to search" /path/to/directory</nowiki>}}. More on [[Desktop_search#Search_text_in_files| Search text in files]]


==== IIS ====
[http://www.iis.net/ Microsoft Internet Information Services] (IIS) log (記錄檔)<ref>[http://www.dotblogs.com.tw/jimmyyu/archive/2009/06/26/9006.aspx (ASP.NET)從Log追蹤錯誤 - gipi的學習筆記-職場規劃、專案管理、雲端運算部落格- 點部落]</ref>
*  C:\WINDOWS\system32\LogFiles\
=== Database server ===
==== MySQL ====
==== MySQL ====
[http://dev.mysql.com/doc/refman/5.1/en/server-logs.html MySQL Server Logs]:  
[http://dev.mysql.com/doc/refman/5.1/en/server-logs.html MySQL Server Logs]:  
* step1: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) <ref>[http://blog.longwin.com.tw/2005/10/mysql_query_slow_find/ 找出 MySQL 哪些 Query 速度較慢 | Tsung's Blog]</ref>
* step1: verify the system variable<ref>[https://dev.mysql.com/doc/refman/5.7/en/show-variables.html MySQL :: MySQL 5.7 Reference Manual :: 13.7.5.39 SHOW VARIABLES Syntax]</ref>
<pre>
mysql> SHOW VARIABLES LIKE '%general_log%';
mysql> SHOW GLOBAL VARIABLES LIKE '%general_log%';
</pre>
* step2: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) <ref>[http://blog.longwin.com.tw/2005/10/mysql_query_slow_find/ 找出 MySQL 哪些 Query 速度較慢 | Tsung's Blog]</ref>
<pre>
<pre>
[mysqld]  
[mysqld]  
## includes all SQL queries/commands
# general_log = 1
# general_log = 1
# general_log_file="general_log_file.log"
# general_log_file="general_log_file.log"
Line 129: Line 120:
</pre>
</pre>


* step2: restart MySQL service
* step3: restart MySQL service


==== Microsoft SQL Server ====
* [http://expressprofiler.codeplex.com/ ExpressProfiler] includes all SQL queries/commands
* [http://msdn.microsoft.com/en-us/library/ms187109.aspx SQL Server Error Log] / [http://msdn.microsoft.com/zh-tw/library/ms187885(v=sql.105).aspx 檢視 SQL Server 錯誤記錄] "contains user-defined events and certain system events ..." quoted from [http://msdn.microsoft.com/en-us/library/ms187109.aspx SQL Server Error Log] ex: X:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
* [http://stackoverflow.com/questions/123781/logging-all-queries-on-a-sql-server-2008-express-database Logging ALL Queries on a SQL Server 2008 Express Database? - Stack Overflow] ''not tested''
=== Other ===
==== PHP ====
==== PHP ====
===== native error logging =====
[[PHP_errors#logging]]
* [http://www.php.net/ PHP] log: check the configuration file: /etc/php.ini (the location of configuration file can be verified by [http://php.net/manual/en/function.phpinfo.php phpinfo()] )
 
(for production site) unmark theese lines in the php.ini and restart Apache service
==== Java ====
 
<pre>
<pre>
log_errors = On
System.out.println("Boston, We Have A Problem" + variable); //output to Tomcat consile
error_log = "php_error.log"
out.println("Boston, We Have A Problem" + variable); //output to JSP webpage
</pre>
(for development site) using [http://php.net/manual/en/function.error-reporting.php error_reporting]
<pre>
error_reporting(E_ALL);
</pre>
* [http://php.net/manual/en/function.error-log.php PHP: error_log - Manual]
===== capture the result of var_dump =====
ob_start
* [http://stackoverflow.com/questions/139474/how-can-i-capture-the-result-of-var-dump-to-a-string php - How can I capture the result of var_dump to a string? - Stack Overflow]
<pre>
ob_start();
var_dump($some_variable);
$result = ob_get_clean();
error_log($result, 3, 'd:/result.log');
</pre>
</pre>


QuickForm
or using [https://netbeans.org/features/java/debugger.html NetBeans IDE - Debugger and Profiler] to setup the breakpoints.
 
==== console command ====
<pre>
<pre>
$result = var_dump($some_variable);
//write the console output to the file
$form->addElement('html', $result);
command > log.txt
</pre>


===== show the line number and filename =====
//append to the same file
<pre>
command >> log.txt
echo 'Houston, we've had a problem '. __line__ . ' ' . __FILE__ ."<br />";
</pre>
</pre>
more on [http://php.net/manual/en/language.constants.predefined.php PHP: Magic constants]
==== IIS ====
* [http://www.iis.net/ Microsoft Internet Information Services] (IIS) log (記錄檔)
**  C:\WINDOWS\system32\LogFiles\
==== Microsoft Windows ====
* Microsoft Windows
** XP / Vista: 控制台 --> 系統管理工具 --> 事件檢視器
** [http://www.microsoft.com/technet/support/ee/ee_basic.aspx 事件和錯誤訊息中心: 基本搜尋]


== find match string ==
== find match string ==
Line 190: Line 164:
* functional testing
* functional testing


== references ==
templates
* [[Bug report template]]
 
== References ==
<references/>
<references/>
further reading
* [http://help.trello.com/article/736-troubleshooting-browser-issues-with-trello Troubleshooting browser issues with Trello - Trello Help] {{access | date = 2017-03-28}}
* [https://asana.com/guide/help/faq/connectivity Supported browsers and troubleshooting steps for Asana | Product guide · Asana] {{access | date = 2017-03-28}}
* [https://ngrok.com/ ngrok - secure introspectable tunnels to localhost] {{access | date = 2020-02-20}}
{{Template:Build a website}}


[[Category:Software]]
[[Category:Software]]
Line 197: Line 182:
[[Category:Web_Dev]]
[[Category:Web_Dev]]
[[Category:MySQL]]
[[Category:MySQL]]
[[Category:Linux]]
[[Category:Testing]]
Anonymous user

Navigation menu