Esempio n. 1
0
        public void UpdateProjectMonthlyMetrics()
        {
            InitMonthlyProjectMetricsRecord();

            ProjectMonthlyExecutionMetric recordMonth = Db.ProjectMonthlyExecutionMetrics.SingleOrDefault(p => p.MonthYear == MonthYear && p.Project == Project);

            // get total test instance counts in the period
            GetTotalRuns(recordMonth);

            // get first time counts
            GetFirstRuns(recordMonth);

            // get re-run counts
            GetReRuns(recordMonth);
        }
Esempio n. 2
0
        private void GetReRuns(ProjectMonthlyExecutionMetric recordMonth)
        {
            foreach (var record in Db.ProjectMonthlyExecutionMetrics.ToList())
            {
                int?totalReRuns = 0;
                int?passedCount = 0;
                int?failedCount = 0;

                passedCount             = record.TotalPassedRuns - record.TotalFirstTimePassedRuns;
                record.TotalReRunPassed = passedCount;

                failedCount             = record.TotalFailedRuns - record.TotalFirstTimeFailedRuns;
                record.TotalReRunFailed = failedCount;

                totalReRuns        = passedCount + failedCount;
                record.TotalReRuns = totalReRuns;

                if (totalReRuns != 0)
                {
                    if (passedCount != null)
                    {
                        var passPercentage = (double)passedCount * 100 / (totalReRuns);
                        record.PercentageReRunPassed = Convert.ToDecimal(passPercentage);
                    }

                    if (failedCount != null)
                    {
                        var failPercentage = (double)failedCount * 100 / (totalReRuns);
                        record.PercentageReRunFailed = Convert.ToDecimal(failPercentage);
                    }
                }
                else
                {
                    record.PercentageReRunPassed = 0;
                    record.PercentageReRunFailed = 0;
                }

                Db.SaveChanges();
            }
        }
Esempio n. 3
0
        // get the list of first time runs - only passed and failed

        private void GetFirstRuns(ProjectMonthlyExecutionMetric recordMonth)
        {
            Sql =
                $"select Count(c.TS_TEST_ID) as AppCount, d.RN_STATUS as RunStatus from td.TEST c inner join (select a.RN_TEST_ID, a.RN_STATUS from td.RUN a inner join (select RN_TESTCYCL_ID, min(RN_RUN_ID) as MinRunId from td.RUN group by RN_TESTCYCL_ID having min(RN_EXECUTION_DATE) BETWEEN '{MonthStartDate}' and '{MonthEndDate}') b on a.RN_RUN_ID = b.MinRunId) d on c.TS_TEST_ID = d.RN_TEST_ID where d.RN_STATUS in ('Passed', 'Failed', 'Blocked') group by d.RN_STATUS";
            _table = RunSql(Sql);
            var passedCount  = 0;
            var failedCount  = 0;
            var blockedCount = 0;

            if (_table != null)
            {
                foreach (DataRow row in _table.Rows)
                {
                    if (row["RunStatus"].ToString() == "Passed")
                    {
                        if (recordMonth != null)
                        {
                            recordMonth.TotalFirstTimePassedRuns = Convert.ToInt32(row["AppCount"]);
                        }
                        passedCount = Convert.ToInt32(row["AppCount"]);
                    }

                    if (row["RunStatus"].ToString() == "Failed")
                    {
                        failedCount = Convert.ToInt32(row["AppCount"]);
                    }

                    if (row["RunStatus"].ToString() == "Blocked")
                    {
                        blockedCount = Convert.ToInt32(row["AppCount"]);
                    }
                }

                Db.SaveChanges();

                if (recordMonth != null)
                {
                    recordMonth.TotalFirstTimeFailedRuns = failedCount + blockedCount;
                }

                if (recordMonth != null)
                {
                    recordMonth.TotalFirstTimeRuns = blockedCount + failedCount + passedCount;
                }

                if (failedCount + passedCount + blockedCount != 0)
                {
                    var passPercentage = (double)passedCount * 100 / (failedCount + blockedCount + passedCount);
                    if (recordMonth != null)
                    {
                        recordMonth.PercentFirstRunPassed = Convert.ToDecimal(passPercentage);
                    }

                    var failPercentage = (double)(failedCount + blockedCount) * 100 / (failedCount + blockedCount + passedCount);
                    if (recordMonth != null)
                    {
                        recordMonth.PercentFirstRunFailed = Convert.ToDecimal(failPercentage);
                    }
                }

                Db.SaveChanges();
            }
        }
Esempio n. 4
0
        private void GetTotalRuns(ProjectMonthlyExecutionMetric recordMonth)
        {
            Sql =
                $"select Count(t2.TS_TEST_ID) as AppCount, t1.RN_STATUS as RunStatus from td.TEST t2 inner join (select RN_RUN_ID, RN_TEST_ID, RN_STATUS from td.RUN where RN_EXECUTION_DATE BETWEEN '{MonthStartDate}' and '{MonthEndDate}' and RN_STATUS in ('Passed', 'Failed','Blocked')) t1 on t2.TS_TEST_ID = t1.RN_TEST_ID group by t1.RN_STATUS";
            _table = RunSql(Sql);
            var passedCount  = 0;
            var failedCount  = 0;
            var blockedCount = 0;

            if (_table != null)
            {
                foreach (DataRow row in _table.Rows)
                {
                    if (row["RunStatus"].ToString() == "Passed")
                    {
                        passedCount = Convert.ToInt32(row["AppCount"]);
                        if (recordMonth != null)
                        {
                            recordMonth.TotalPassedRuns = Convert.ToInt32(row["AppCount"]);
                        }
                    }

                    if (row["RunStatus"].ToString() == "Failed")
                    {
                        failedCount = Convert.ToInt32(row["AppCount"]);
                    }

                    if (row["RunStatus"].ToString() == "Blocked")
                    {
                        blockedCount = Convert.ToInt32(row["AppCount"]);
                    }

                    if (recordMonth != null)
                    {
                        recordMonth.TotalFailedRuns = failedCount + blockedCount;
                    }

                    if (recordMonth != null)
                    {
                        recordMonth.TotalRuns = failedCount + passedCount + blockedCount;
                    }

                    if (failedCount + passedCount + blockedCount != 0)
                    {
                        var passPercentage = (double)passedCount * 100 / (failedCount + passedCount + blockedCount);
                        if (recordMonth != null)
                        {
                            recordMonth.PercentageTotalRunsPassed = Convert.ToDecimal(passPercentage);
                        }

                        var failPercentage = (double)(failedCount + blockedCount) * 100 / (failedCount + passedCount + blockedCount);
                        if (recordMonth != null)
                        {
                            recordMonth.PercentageTotalRunsFailed = Convert.ToDecimal(failPercentage);
                        }
                    }

                    Db.SaveChanges();
                }
            }
        }