Click here to Skip to main content
15,879,096 members
Articles / Web Development / HTML

NTime - Performance unit testing tool

Rate me:
Please Sign up or sign in to vote.
4.73/5 (27 votes)
30 Mar 20066 min read 431.3K   8.2K   163  
An article on a performance testing tool to test an application against its performance
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NTimeGUI</name>
    </assembly>
    <members>
        <member name="T:NTime.GUI.AboutBox">
            <summary>
            Summary description for AboutBox.
            </summary>
        </member>
        <member name="F:NTime.GUI.AboutBox.components">
            <summary>
            Required designer variable.
            </summary>
        </member>
        <member name="M:NTime.GUI.AboutBox.#ctor">
            <summary>
            Initializes about box form.
            </summary>
        </member>
        <member name="M:NTime.GUI.AboutBox.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:NTime.GUI.AboutBox.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="T:NTime.GUI.AddAssemblyForm">
            <summary>
            Summary description for AddAssembly.
            </summary>
        </member>
        <member name="F:NTime.GUI.AddAssemblyForm.components">
            <summary>
            Required designer variable.
            </summary>
        </member>
        <member name="M:NTime.GUI.AddAssemblyForm.#ctor">
            <summary>
            Initializes add/remove assembly dialog box.
            </summary>
        </member>
        <member name="M:NTime.GUI.AddAssemblyForm.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:NTime.GUI.AddAssemblyForm.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="T:NTime.UnitResult">
            <summary>
            This is Unit test result enumeration status.
            </summary>
        </member>
        <member name="F:NTime.UnitResult.Unknown">
            <summary>
            Unknown test state, grey indicator.
            </summary>
        </member>
        <member name="F:NTime.UnitResult.Accepted">
            <summary>
            Accepted test state, green indicator.
            </summary>
        </member>
        <member name="F:NTime.UnitResult.Rejected">
            <summary>
            Rejected test state, red indicator.
            </summary>
        </member>
        <member name="F:NTime.UnitResult.Ignored">
            <summary>
            Ignored test state, yellow indicator.
            </summary>
        </member>
        <member name="T:NTime.AssemblyDomain">
            <summary>
            This class isolates performance test assemblies in application domain.
            </summary>
        </member>
        <member name="F:NTime.AssemblyDomain.appDomain">
            <summary>
            Application domain for internal use.
            </summary>
        </member>
        <member name="M:NTime.AssemblyDomain.#ctor">
            <summary>
            Initializes class to isolate performance test assemblies.
            </summary>
        </member>
        <member name="M:NTime.AssemblyDomain.CreateDomain(System.String[],System.String)">
            <summary>
            Creates application domain to manage performance test assemblies.
            </summary>
            <returns>Proxy remote class to access performance test assemblies.</returns>
        </member>
        <member name="M:NTime.AssemblyDomain.DestroyDomain">
            <summary>
            Destroys application domain to free up loaded performance test assemblies.
            </summary>
        </member>
        <member name="T:NTime.TestFixture">
            <summary>
            This class is test container.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.Units">
            <summary>
            Array of test units contained in TestFixture.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.StartUpObjectMethod">
            <summary>
            Global reflection method for TestFixture startup.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.StartUpObjectType">
            <summary>
            Global reflection type for TestFixture startup.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.TearDownObjectMethod">
            <summary>
            Global reflection method for TestFixture teardown.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.TearDownObjectType">
            <summary>
            Global reflection type for TestFixture teardown.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.StartUpLocalObjectMethod">
            <summary>
            Local reflection method for TestFixture startup.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.StartUpLocalObjectType">
            <summary>
            Local reflection type for TestFixture startup.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.TearDownLocalObjectMethod">
            <summary>
            Local reflection method for TestFixture teardown.
            </summary>
        </member>
        <member name="F:NTime.TestFixture.TearDownLocalObjectType">
            <summary>
            Local reflection type for TestFixture teardown.
            </summary>
        </member>
        <member name="T:NTime.TestKind">
            <summary>
            Type of test. This is a constant.
            </summary>
        </member>
        <member name="F:NTime.TestKind.Duration">
            <summary>
            Type of test is Duration test.
            </summary>
        </member>
        <member name="F:NTime.TestKind.Hitcount">
            <summary>
            Type of test is Hitcount test.
            </summary>
        </member>
        <member name="F:NTime.TestKind.Counter">
            <summary>
            Type of test is Performance counter test.
            </summary>
        </member>
        <member name="F:NTime.TestKind.InternalTiming">
            <summary>
            Type of test is internal timing test to calculate body execution time.
            </summary>
        </member>
        <member name="T:NTime.TestUnit">
            <summary>
            This class is test unit for attributed test method.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.ObjectType">
            <summary>
            Reflection type for test fixture. Used with dynamic method invoking.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.ObjectMethod">
            <summary>
            Reflection method for attributed test method. Used with dynamic method invoking.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.ObjectName">
            <summary>
            Namespace with class and method string. Used to generate nodes in TreeView.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Result">
            <summary>
            Unit test state result after dynamic invoking.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.TimeUnit">
            <summary>
            Time period for duration test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.TimeUnitHitCount">
            <summary>
            Time period for hit count test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Threads">
            <summary>
            Number of concurrent threads that call method.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Duration">
            <summary>
            Minimum time (defaults to microseconds) the method has to be executed, otherwise performance test fails.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.ExpectedHits">
            <summary>
            Minimum hits per second (or other time period) that must occur, otherwise performance test fails.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.DurationInNanoseconds">
            <summary>
            Duration time converted from <see cref="F:NTime.TestUnit.Duration"/> or <see cref="F:NTime.TestUnit.ExpectedHits"/> to nanoseconds.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.CategoryName">
            <summary>
            The name of the performance counter category for performance counter.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.CounterName">
            <summary>
            The name of the performance counter that is associated with PerformanceCounter instance.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.InstanceName">
            <summary>
            The instance name for performance counter.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.MachineName">
            <summary>
            The computer name for performance counter.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.MinimumValue">
            <summary>
            Minimum value that performance counter may have to accept performance test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.MaximumValue">
            <summary>
            Maximum value that performance counter may have to accept performance test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Fixture">
            <summary>
            Parent to test fixture container.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Ignored">
            <summary>
            Indicates whether test unit is ignored.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Warning">
            <summary>
            Ignore text injected from test method attribute or warning text describing failed test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.UnitResultInfo">
            <summary>
            Description of test unit. It contains summary text for executed test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.Node">
            <summary>
            Test unit linked to tree node of TreeView.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.TypeNameLong">
            <summary>
            Title of unit test including type of test and other parameters injected from method attribute.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.TypeName">
            <summary>
            Title of unit test including only type of test.
            </summary>
        </member>
        <member name="F:NTime.TestUnit.TestType">
            <summary>
            Type of test. See <see cref="T:NTime.TestKind"/> enumeration type.
            </summary>
        </member>
        <member name="M:NTime.TestUnit.#ctor(System.Type,System.Reflection.MethodInfo)">
            <summary>
            Initializes TestUnit class that holds test unit node.
            </summary>
            <param name="type">Reflection type of TestFixture class.</param>
            <param name="methodInfo">Reflection method of performance test method.</param>
        </member>
        <member name="T:NTime.RemoteLoader">
            <summary>
            Remote loader existing in other application domain to support assembly loading in isolated
            process space to perform assembly replacing and unloading. It is main class that reloads
            assemblies and reflects them to test units.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.Fixtures">
            <summary>
            An array with type information for each performance test fixture.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.RunningTestUnits">
            <summary>
            Actually running test unit. Used to forward test unit across multiple threads.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.NumberOfMethodCalls">
            <summary>
            Number of calls to average execute time.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.CompletedTests">
            <summary>
            An array containing finished tests. This list is used in query for ready tests to reflect in treeview and gui.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.CompletedIndex">
            <summary>
            Index in CompletedTests array to begin search at specified index. This variable is used in query to improve performance.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.TestsFinished">
            <summary>
            Indicates whether tests are finished and need to update gui in application.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.Running">
            <summary>
            Used by running threads to test whether tests should be running or stopped.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.ClassTypes">
            <summary>
            An array with reflection types for activating test fixture class objects.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.ClassInstances">
            <summary>
            An array cooperated with ClassTypes array to keep class objects activated
            during multiple invoking.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.StartDate">
            <summary>
            Represents start date of tests.
            </summary>
        </member>
        <member name="F:NTime.RemoteLoader.TotalTime">
            <summary>
            Represents tests total execution time.
            </summary>
        </member>
        <member name="M:NTime.RemoteLoader.#ctor">
            <summary>
            Initializes RemoteLoader class.
            </summary>
        </member>
        <member name="M:NTime.RemoteLoader.LoadAssembly(System.String)">
            <summary>
            Loads performance test assembly into isolated application domain.
            </summary>
            <param name="assembly">Assembly filename to load.</param>
        </member>
        <member name="M:NTime.RemoteLoader.RunUnit(System.Collections.ArrayList)">
            <summary>
            Starts unit tests.
            </summary>
            <param name="units">An array of selected test units to run</param>
        </member>
        <member name="M:NTime.RemoteLoader.QueryUnit(System.Boolean)">
            <summary>
            Used from gui form to query which tests are available to reflect in treeview.
            </summary>
            <param name="requestStop">Specify true to stop running test threads.</param>
            <returns>TestUnit instance with completed test or null when none of tests were finished till now.</returns>
        </member>
        <member name="M:NTime.RemoteLoader.RunMethod(System.Type,System.Reflection.MethodInfo)">
            <summary>
            Creates object instance, runs its method and places it in array cache for further invoking.
            </summary>
            <param name="type">Reflection type of test fixture class to create.</param>
            <param name="methodInfo">Reflection method of test to invoke.</param>
        </member>
        <member name="M:NTime.RemoteLoader.ThreadTestsRun">
            <summary>
            Worker thread invoking performance tests.
            </summary>
        </member>
        <member name="M:NTime.RemoteLoader.NormalizeTime(System.Double@,NTime.Framework.TimePeriod@)">
            <summary>
            Used internally to normalize elapsed time to specified precision with appropriate time unit.
            </summary>
            <param name="duration">Elapsed time in nanoseconds. This is a ref parameter.</param>
            <param name="timePeriod">Normalized Time unit. This is an out parameter.</param>
        </member>
        <member name="M:NTime.RemoteLoader.NormalizeHitcount(System.Double@,NTime.Framework.TimePeriod)">
            <summary>
            Used internally to normalize hitcount to specified precision with appropriate time unit.
            </summary>
            <param name="hitcount">Hitcount per specified time unit.</param>
            <param name="timePeriod">Base time period.</param>
        </member>
        <member name="M:NTime.RemoteLoader.TimeToNanoseconds(System.Int64,NTime.Framework.TimePeriod)">
            <summary>
            Used internally to convert duration time to nanoseconds.
            </summary>
            <param name="duration">Duration in specified time unit.</param>
            <param name="timePeriod">Time unit of duration.</param>
            <returns>Duration in nanoseconds.</returns>
        </member>
        <member name="T:NTime.ThreadRun">
            <summary>
            Class used by Thread to run method. Each thread in test has its own class.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.Thread">
            <summary>
            Thread instance owner.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.tu">
            <summary>
            Reference to <see cref="T:NTime.TestUnit"/> instance to inspect test properties.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.rl">
            <summary>
            Reference to <see cref="T:NTime.RemoteLoader"/> instance to access <see cref="M:NTime.RemoteLoader.RunMethod(System.Type,System.Reflection.MethodInfo)"/>.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.Duration">
            <summary>
            Average duration time in test thread.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.CounterSample">
            <summary>
            Average performance counter in test thread.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.ShortTime">
            <summary>
            Indicates whether method executes minimum one second to collect performance counters correct.
            </summary>
        </member>
        <member name="F:NTime.ThreadRun.ExceptionFound">
            <summary>
            Forwards exception message from executive thread to main unit testing loop thread.
            </summary>
        </member>
        <member name="M:NTime.ThreadRun.#ctor(NTime.RemoteLoader,NTime.TestUnit)">
            <summary>
            Initializes class for one thread test.
            </summary>
            <param name="remoteLoader">This instance is needed to perform <see cref="M:NTime.RemoteLoader.RunMethod(System.Type,System.Reflection.MethodInfo)"/>.</param>
            <param name="testUnit">This instance is used to inspect test properties.</param>
        </member>
        <member name="M:NTime.ThreadRun.ThreadTest">
            <summary>
            Core thread function to execute test method.
            </summary>
        </member>
        <member name="M:NTime.ThreadRun.PerformanceThread">
            <summary>
            This method working in separate thread collects performance counter.
            </summary>
        </member>
        <member name="T:NTime.Counter">
            <summary>
            This class imports high frequency counter functions from within Kernel32 library.
            </summary>
        </member>
        <member name="P:NTime.Counter.Frequency">
            <summary>
            Gets frequency of high frequency timer.
            </summary>
        </member>
        <member name="P:NTime.Counter.Value">
            <summary>
            Gets counter of high frequency timer.
            </summary>
        </member>
        <member name="T:NTime.GUI.NTimeForm">
            <summary>
            Main NTime GUI form to interact with user.
            </summary>
        </member>
        <member name="M:NTime.GUI.NTimeForm.#ctor">
            <summary>
            Initializes main NTime tool gui form.
            </summary>
        </member>
        <member name="M:NTime.GUI.NTimeForm.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:NTime.GUI.NTimeForm.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:NTime.GUI.NTimeForm.Main">
            <summary>
            The main entry point for the application.
            </summary>
        </member>
        <member name="T:NTime.NTimeMain">
            <summary>
            This class performs common UI tasks invoked by user interaction.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.statusInfo">
            <summary>
            Status info used in status bar.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.totalTests">
            <summary>
            Total tests used in status bar.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.acceptedTests">
            <summary>
            Number of accepted tests used in status bar.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.rejectedTests">
            <summary>
            Number of rejected tests used in status bar.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.totalTestsTime">
            <summary>
            Total test time used in status bar.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.rl">
            <summary>
            Proxy class to access application domain assemblies.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.Domain">
            <summary>
            Application domain class to manage assemblies in isolated application domain.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.AssemblyNames">
            <summary>
            Assembly filenames loaded into project. This list is used by <see cref="M:NTime.NTimeMain.Reload"/> method to refresh assemblies with updated test classes and methods.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.Form">
            <summary>
            Main NTime form object to reference UI objects.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.dirtyProject">
            <summary>
            Indicates whether project has changed.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.firstUse">
            <summary>
            Indicates whether project name is default and need to be saved with different filename.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.ProjectName">
            <summary>
            Project filename.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.directoryWatcher">
            <summary>
            Watches changes in assemblies then refreshes them in project.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.Running">
            <summary>
            Indicating whether tests are running now.
            </summary>
        </member>
        <member name="F:NTime.NTimeMain.ConfigurationFilename">
            <summary>
            Configuration filename for application domain of loaded tests.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.#ctor">
            <summary>
            Initializes a new instance of main underlayed class to perform common tasks.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.UpdateCaption">
            <summary>
            Refreshes caption form to show project name (project filename).
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.UpdateStatusBar">
            <summary>
            Updates status bar with performance test statistics
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.CheckDirty">
            <summary>
            Checks whether project has changed and needs to be saved.
            </summary>
            <returns>Returns true when new action is allowed to be done, otherwise must not change project state.</returns>
        </member>
        <member name="M:NTime.NTimeMain.Close">
            <summary>
            Checks whether the form may close. This method is used by Exit menu or Close form event.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NTime.NTimeMain.NewProject">
            <summary>
            Creates new empty project.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.Open">
            <summary>
            Opens dialog to specify filename to load project or assembly with custom tests.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.SaveAs">
            <summary>
            Opens dialog to save project to chosen filename.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.Save">
            <summary>
            Saves current project.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NTime.NTimeMain.LoadProject">
            <summary>
            Loads and parses xml project file.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.Run">
            <summary>
            Runs loaded and selected tests.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.QueryTests">
            <summary>
            Queries for finished tests to update treenodes and gui.
            This method is executed in specified time periods.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.BuildNodesArray(System.Windows.Forms.TreeNode,System.Collections.ArrayList@)">
            <summary>
            Fills recursive an array with selected tests in TreeView.
            </summary>
            <param name="t">Start node.</param>
            <param name="array">Array to fill in.</param>
        </member>
        <member name="M:NTime.NTimeMain.ResetNodesArray(System.Windows.Forms.TreeNode)">
            <summary>
            Resets tree node icon to default state. Used when starting tests.
            </summary>
            <param name="t">Start node.</param>
        </member>
        <member name="M:NTime.NTimeMain.Stop">
            <summary>
            Stops running tests.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.Options">
            <summary>
            Opens options dialog box.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.ShowNodeInfo">
            <summary>
            Places summary test text in edit box right to TreeView.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.Reload">
            <summary>
            Reloads assemblies. This function is used often for refreshing program state.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.onFileChange(System.Object,System.IO.FileSystemEventArgs)">
            <summary>
            Fired when file watcher finds any change in directory.
            </summary>
            <param name="obj">File watcher object.</param>
            <param name="e">File watcher event arguments.</param>
        </member>
        <member name="M:NTime.NTimeMain.AddAssembly">
            <summary>
            Invokes assembly editor to add or remove assemblies with tests.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.PopulateTree">
            <summary>
            Populates tree with loaded tests in assemblies.
            </summary>
        </member>
        <member name="M:NTime.NTimeMain.AddToTree(System.String,NTime.TestUnit)">
            <summary>
            Adds node to treeview control.
            </summary>
            <param name="typeName">.net type (with namespace) to add to treeview.</param>
            <param name="testUnit">TestUnit instance to add to node tag for its further reference.</param>
        </member>
        <member name="T:NTime.GUI.OptionsDialog">
            <summary>
            Summary description for OptionsDialog.
            </summary>
        </member>
        <member name="F:NTime.GUI.OptionsDialog.components">
            <summary>
            Required designer variable.
            </summary>
        </member>
        <member name="M:NTime.GUI.OptionsDialog.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:NTime.GUI.OptionsDialog.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.


Written By
Web Developer
Poland Poland
Born in Poland, living there as employeed developer, in free time writing much .net stuff and designing applications.

Comments and Discussions