After test suite executions using TestNG or Junit, by default we get the HTML reports, but the information provided by these reports is not so good in terms of one page summary of the test, though that can also be emailed to the team and stakeholders of the project but still have good scope of improvement. To avoid this, we have other options like XSLT reports, these are much better than normal TestNG and Junit reports. These will display a pie chart to represent the pass, fail and skip test cases. Apart from this Pie chart, it will not give any more information in the generated HTML report. If we want any other information we need to write separate code.
Functional Testing is based on the functionality of the program. It involves only observation of the output for certain input values.
Usability tests helps to find the difficulties faced by people with a product and provide valuable solutions for improvement.
Performance testing is done to find how a system is performing under a particular workload in terms of responsiveness and stability.
Compatibility testing verifies the compatibility of a software on different platforms under different conditions.