I suspect part of the problem is the repeated calls to [`Schema.getGlobalDescribe()`][1]. 

That method returns metadata for **all** the accessible sObjects and is generally expensive if you are only interested in one particular sObject. 

So, instead of doing this:

    Schema.SObjectType targetType = Schema.getGlobalDescribe().get(typeName);
    Schema.DescribeSObjectResult describe = targetType.getDescribe();

Try something simpler like:

    Schema.DescribeSObjectResult describe = Schema.describeSObjects(new String[]{typeName})[0];


Also, break your test methods into four distinct tests. One for each method. E.g.

    @isTest
    public class FieldSetControllerTest {
        public static String typeName = 'Contact';
        public static String fsName = 'lightningFormContactFields';
    
        @isTest
        public static void contactsHaveAFieldSetDefined(){
            boolean contactsHaveAFieldSet = FieldSetController.hasFieldSets(typeName);
            System.assert(contactsHaveAFieldSet);
        }
    
        // Plus more tests. Each focusing on one method at a time and making assertions.
    }


  [1]: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_schema.htm#apex_System_Schema_getGlobalDescribe