According to https://www.mssqltips.com/sqlservertip/1882/understanding-why-there-is-still-downtime-for-sql-server-with-microsoft-clustering/, Microsoft clustering fail-over solution involve the following steps that cause the downtime.
Stops the SQL Server Agent service and any services dependent on the SQL Server service.
Stops the SQL Server service (meaning SQL Server isn't available at this point).
Releases NodeA's hold on the IP address and network name for VirtualNode1.
Releases NodeA's hold on the shared storage.
Tells NodeB to take control of the shared storage (which it does).
Tells NodeB to take control of the IP address and network name for VirtualNode1.
Starts the SQL Server service on NodeB (meaning SQL Server is coming back on-line for its clients).
Starts the SQL Server Agent service and any services dependent on the SQL Server service.
I test the down time, it would be a couple of seconds. Sound little, but it would be bad enough to cause some application server (WebLogic for exmaple) 20s to 30s revcover.