ArticlePDF Available

Figures

Content may be subject to copyright.
© 2019, IJCSE All Rights Reserved 886
International Journal of Computer Sciences and Engineering Open Access
Research Paper Vol.-7, Issue-5, May 2019 E-ISSN: 2347-2693
Role of Testing in Software Development Life Cycle
Nirali Honest
Smt. Chandaben Mohanbhai Patel Institute of Computer Applications,CHARUSAT,Changa
*Corresponding Author: niralihonest.mca@charusat.ac.in,
DOI: https://doi.org/10.26438/ijcse/v7i5.886889 | Available online at: www.ijcseonline.org
Accepted: 08/May/2019, Published: 31/May/2019
Abstract People search for quality in every artifact they come across. The concept of quality has also entered in the area of
software development where it becomes crucial to thoroughly check the software system at different levels of testing. Now-a-
days the competition is increased highly and the frequency of changes in platforms and business requirements are also very
high, so for a software to be stable and in use for long run, requires to support and update based on the current requirements.
Software testing is one of the umbrella activities performed at any organization to provide value and quality, to ensure the
longitivity of software product in the market. This paper covers the concept of testing, its role in assuring quality, test cases,
levels of testing, methods of testing and test planning, executing and monitoring. The papers emphasize on the use and impact
of test driven environment with concept of story board based implementation.
Keywords Software testing, Software quality, Test Driven Environment.
I. INTRODUCTION
Introduction
The concept of quality did not originate with software
systems [8]. It started with as an impact of Global
competition, Outsourcing, growing customer outlooks, have
brought the concept of quality to the considerably
highlighted. Initially the quality movement started in Japan
with the concept of Statistical Quality Control (SQC)
methods. Statistical quality control is a discipline based on
measurements and statistics. Decisions and Plans are made
and based on the gathering and calculation of the actual data
in the form of different metrics, the past experience or
intuition is not considered as the major way of doing the
work. A working model based on the concept of forming a
Strategy, Prepare and Organize to work as per the strategy,
Assess the work and Manage changes was adopted where
initially a plan or strategy was established to set the objective
and process to deliver the results, then implement the plan
and measure its performance, and then assess the
measurements and report the results to decision makers, and
Apply changes if required to improve the process. Basically
quality concept started with one unit in the organization, but
then it moved to the entire organization. This caused the
move from SQC to TQC (Total Quality Control) in Japan.
With the acceptance of quality standards to be enforced in
the entire organization various quality related activities were
introduced in the organization like audits, quality circle
promotion of quality management principles and quality
control. One of the innovative TQC methodologies
developed in Japan is referred to as cause-and-effect model.
This was also called as the Ishikawa model and it is used to
understand the causes that has effect on the quality of the
product. The Software Quality is defined as “An effective
software process applied in a manner that creates a useful
product that provides measurable value for those who
produce it and those who use it”. Effective testing is very
important to perform which include minimum test cases with
maximum cover [1]. Testing is a costly activity if not carried
out optimally, and its aim is to find defects from systems
with critical and catastrophic events [2][3][4]. There are two
important terms used in testing which include „Validation‟
and „Verification‟. Verification activity helps us in assessing
a software system by determining whether the product of a
given development phase satisfies the requirements
established before the start of that phase. One may note that a
product can be an intermediate product, such as requirement
specification, design specification, code, user manual, or
even the final product. Activities that check the correctness
of a development phase are called verification activities.
Validation Activities help us in confirming that a product
meets its intended use. Validation activities aim at
confirming that a product meets its customer‟s expectations.
In other words, validation activities focus on the final
product, which is extensively tested from the customer point
of view. Validation establishes whether the product meets
overall expectations of the users. Validation is done at the
International Journal of Computer Sciences and Engineering Vol.7(5), May 2019, E-ISSN: 2347-2693
© 2019, IJCSE All Rights Reserved 887
end of the development process and takes place after
verifications are completed [5]. The testing activities are
challenging activities and a proper roadmap is to be decided
before proceeding to testing [9][10].
II. ROLE OF TESTING IN SOFTWARE QUALITY
Testing plays a significant role in accomplishing and
evaluating the quality of a software product [13]. Software
quality assessment can be divided into two broad categories,
namely, static and dynamic analysis. Static Analysis means,
it is based on the examination of a number of documents,
namely requirements documents, software models, design
documents, and source code, etc. Basic methods used in
static analysis includes code review, inspection, walk-
through, algorithm analysis, and proof of correctness. It does
not involve actual execution of the code under development.
Dynamic Analysis: Dynamic analysis of a software system
involves actual program execution in order to expose
possible program failures. The behavioral and performance
properties of the program are also observed. Programs are
executed with both typical and carefully chosen input values.
Often, the input set of a program can be impractically large.
The major objectives of testing include, a. The system will
work properly, b. The system will not work properly, c.
Reduce the risk of system breakdown, and d. Reduce the cost
of testing.
The first objective covers the test cases to check the system
will work properly with all specified operations this test
intend to check the basic flow of use case model and it
covers the positive testing scenario, the second objective
covers the test cases to make the system fail, so check all the
alternative flows specified during the use case model and it
covers the negative testing scenario, the third objective
covers the test cases to fail or crash the system explicitly, to
know the limit and boundaries of system, so likewise the
maximum system capacity in terms of processing speed,
memory allocations, interrupt handling, etc. can be known,
the fourth objective focuses on designing of minimum test
cases to cover the maximum system testing, it is near to
impossible to test all the combination of test cases ,so the
challenge of testing is to cover entire system testing with
minimum number of test cases and utilize the resources
optimally with reducing the cost associated with it. The test
case generation is one of the most important task in testing.
[15]. A test case is a simple pair of <input, expected
outcome>. In stateless systems: output completely depends
on the input, example includes to compute the cube of
numbers, user simply needs to provide input to the system. In
state-oriented systems: output of one sequence act as an input
to another sequence and so on, example includes a telephone
switching system and ATM machine, etc. The test cases can
be formed from different sources of information as a
software development process produces a large number of
artifacts, such as requirements specification, design
document, and source code. In order to generate effective
tests at a lower cost, test designers study and analyze the
various sources of information like, Requirements and
functional specifications, Source code, Input and output
domains, Operational profile, and a fault model which
predict the incorrectness in the system. From this model, a
designer can predict the consequences of particular faults. In
order to test a program, a test engineer must perform a
sequence of testing activities that include, identify an
objective to be tested, select inputs, compute the expected
outcome, set up the execution environment of the program,
Execute the program, Analyze the test result.
III. LEVELS OF TESTING
Testing is performed at different levels involving the
complete system or parts of it throughout the life cycle of a
software product.
Figure 1: Levels of Testing
In Unit level testing the individual units/components are
tested in a standalone manner. The purpose is to validate that
each unit of the software performs as designed without any
dependency. Integration Testing is a level of the software
testing process where individual units are combined and
tested as a group. The purpose of this level of testing is to
expose faults in the interaction between integrated units.
System testing is a level of the software testing process
where a complete, integrated system/software is tested. The
purpose of this test is to evaluate the system‟s agreement
with the specified requirements and Acceptance testing is a
level of the software testing process where a system is tested
for acceptability. The purpose of this test is to evaluate the
system‟s compliance with the business requirements and
assess whether it is acceptable for delivery.
Unit Test
System Test
Integration
Test
Acceptance
Test
Test Individual
parts of system
Group the parts of system and test
gradually
Test the system customer
requirements
Test the whole
system
International Journal of Computer Sciences and Engineering Vol.7(5), May 2019, E-ISSN: 2347-2693
© 2019, IJCSE All Rights Reserved 888
IV. METHODS OF TESTING
Two broad concepts in testing, for test design, are white-box
and black-box testing [6][7]. White-box testing techniques
are also called structural testing techniques. As the name
implies this testing methodology provides the insight into the
application and create test cases. The tester has the source
code structure and other details of application available, so
based on it the test cases can be prepared. It enables to see
what is happening inside the application. For example,
consider a system Bank ATM machine, here the code behind
the system, would be to provide operations for pin
verification, listing menu items, check balance, withdraw
cash, link aadhar card, etc. As part of white box testing the
tester focus on working of each module correctly, before it is
tested using the user interface. Here the main source of input
for test cases is the underlying structure of the source code.
This method of testing can be applied at unit level and
integration level testing where the code is developed and
tested in parallel. Black-box testing techniques are called
functional testing techniques. As the name implies the tester
is not provided with an insight of the application that is being
tested [11][12]. The tester understands the requirements and
test them using the user interface of the system. The tester is
not aware of the code behind the interface being tested. This
testing methodology looks at what are the available inputs
for an application and what the expected outputs are that
should result from each input. For example, consider a
system Bank ATM machine, the tester understands the
possible operations supported by the ATM, prepares the set
of inputs and expected outcomes to test each operation, at the
time of testing the tester has access of user interface only, the
source code is not made available to the tester. Here the main
source of input for test cases is number of inputs and
expected outputs to test the user interface. This method of
testing can be applied at system level testing where all the
interfaces are prepared and tested for each functionality. The
main difference between black-box and white-box testing is
the areas on which they choose to focus. In simplest terms,
black-box testing is focused on results. If an action is taken
and it produces the desired result, then the process that was
actually used to achieve that outcome is irrelevant. White-
box testing, on the other hand, is concerned with the details.
It focuses on the internal workings of a system and only
when all paths have been tested and the sum of an
application‟s parts can be shown to be contributing to the
whole is testing complete.
V. TEST PREPARATION AND POLICY
The purpose of system test preparation includes setting the
test planning, to get ready and organized for test execution
[14]. A test plan provides a framework, scope, details of
resource needed, effort required, schedule of activities, and a
budget. In earlier days the traditional testing concept was
followed as shown in figure 2, where testing is done at the
end, this has direct impact on the time and cost of the
software which is not feasible, it is interesting to note that a
new test-centric approach to system development is
gradually emerging. This approach is called test-driven
development (TDD). In test-driven development,
programmers design and implement test cases before the
production code is written as shown in figure 3. This
approach is a key practice in modern agile software
development processes such as eXtreme Programming (XP).
The XP is a software development methodology which is
used to improve software quality and responsiveness to
changing customer requirements.
Figure 2 : Traditional concept of testing.
Figure 3 : Test Driven Development in testing.
Extreme programming” (XP) champions the use of tests as a
development tool, and it supports the “Test First”
functionality. Here the requirement are taken up as stories
and they are written on the story board, one story at a time is
written to meet the functionalities and the code to test the
story is also written, once the test is passed and meet all the
requirements from a given story, the next story from the
story board is taken, and it continues up to all the stories are
written and tested as shown in figure 4.
Figure 4: Testing the functionalities in a test driven
environment.
International Journal of Computer Sciences and Engineering Vol.7(5), May 2019, E-ISSN: 2347-2693
© 2019, IJCSE All Rights Reserved 889
The main features of agile software development practices
include Incremental development means to divide the
software life-cycle development into “multi-waterfall” cycle
and with every cycle the testing is contributing to the
changes that need to be incorporated, the Unit testing is done
by the programmers, and acceptance testing done by
customers, on more frequent basis regression testing is done
to make sure that the changes made in the code, database,
etc. to support the new requirements do not disturb or cause
problems in already existing code. It also focuses on writing
test code for one test case at a time, before the final code is
written. After the test planning and design monitoring and
measurement are two key principles in software testing.
Different software matrices are created to store and analyze
the results. Software Testing Matrix is a quantitative
measure of the degree to which a system, component, or
process possesses a given attribute. Test execution metrics
can be broadly categorized into two classes as Metrics for
monitoring test execution and Metrics for monitoring defects.
Quantitative evaluation is carried out through measurement.
Testing is a distributed activity conducted at different levels
throughout the life cycle of a software. In testing, team is
organized and managed Unit-level tests are generally
developed and executed by the programmers. System
integration testing is performed by the system integration test
engineers. A team for performing system-level testing is
truly separated from the development team, and it usually has
a separate head count and a separate budget. However, the
real user acceptance testing is executed by the client‟s special
user group. The user group consists of people from different
backgrounds, such as software quality assurance engineers,
business associates, and customer support engineers
including the major stakeholders of the customer
organization.
Conclusion and Future Scope
The paper covers the concept of testing, its role in software
development cycle, methods of testing, level of testing and
preparing test cases. In the current competitive era, for a
software product to sustain in market for long time, it is
mandatory to have good quality and value. Following the
test driven environment can help to work testing first mean
while the production code is being written.
ACKNOWLEDGMENT
I would like to thank Charotar University of Science and
Technology to provide with all the resources required to carry
out the work in this paper.
REFERENCES
[1] P. Ron. Software testing. Vol. 2. Indianapolis: Sam‟s, 2001.
[2] S. Amland, "Risk-based testing:" Journal of Systems and Software,
vol. 53, no. 3, pp. 287295, Sep. 2000.
[3] Redmill and Felix, “Theory and Practice of Risk-based Testing”,
Software Testing, Verification and Reliability, Vol. 15, No. 1,
March 2005.
[4] B. Agarwal et al., “Software engineering and testing”. Jones &
Bartlett Learning, 2010.
[5] Mailewa, Akalanka, Jayantha Herath, and Susantha Herath. "A
Survey of Effective and Efficient Software Testing." The Midwest
Instruction and Computing Symposium. Retrieved from
http://www.micsymposium.
org/mics2015/ProceedingsMICS_2015/Mailewa_ 2D1_41. pdf.
2015.
[6] Mohd. Ehmer Khan, “Different Approaches to White Box testing
Technique for Finding Errors,” IJSEIA, Vol. 5, No. 3, pp 1-13,
July 2011.
[7] Mohd. Ehmer Khan, “Different Approaches to Black Box Testing
Technique for Finding Errors,” IJSEA, Vol. 2, No. 4, pp 31-40,
October 2011.
[8] L. Osterweil. Strategic directions in software quality. ACM
Computing Surveys, 4:738750, Dec. 1996.
[9] A. Bertolino. Software testing research: Achievements, challenges,
dreams. In 2007 Future of Software Engineering, pages 85103,
2007.
[10] M. J. Harrold. Testing: A roadmap. In Proceedings of the
Conference on the Future of Software Engineering, pages 6172,
2000.
[11] M.Kumar, S.K.Singh,. R.K.Drivedi, “A Comparative Study of
Black Box Testing and White Box Testing Techniques”,
International Journal of Advance Research in Computer Science
and Management Studies, Volume-3, Issue 10,pp. 32-44,October
2015, ISSN: 2321-7782
[12] M.E. Khan, “Different Approaches to Black Box Testing
Technique for Finding Errors”, IJSEA, Volume- 2, Issue- 4, pp 31-
40, October 2011.
[13] Oluigbo I.V., Asiegbu B.C., Ezeh G.N., Nwokonkwo O.C.,
"Group Membership Prediction of an Outsourced Software
Project: A Discriminant Function Analysis Approach",
International Journal of Scientific Research in Multidisciplinary
Studies , Vol.3, Issue.4, pp.12-18, 2017.
[14] Suresh Jat and Pradeep Sharma, “Analysis of Different Software
Testing Techniques “,International Journal of Scientific Research in
Computer Science and Engineering Vol.5, Issue.2, pp.77-80, April
2017.
[15] Chandraprakash Patidar ,“Test Case Generation Using Discrete
Particle Swarm Optimization Algorithm”, International Journal of
Scientific Research in Computer Science and Engineering ISSN 2320-
7639 Volume-1, Issue-1, Jan- Feb-2013.
Authors Profile
Nirali Honest is working as an Assistant Professor, at Smt. Chandaben
Mohanbhai Patel Institute of Computer Applications, since August 2005.
She has completed her Master of Computer Applications from Gujarat
University in 2005 and Bachelor of Computer Applications in 2002 form
Dharamsinh Desai University. During her tenure at academics she has
conducted sessions on various courses like Software Quality Assurance,
Software Engineering and Quality Assurance, Web Technologies and
Applications, Database Management Concepts, System Analysis and
designing , Network Technologies, Object Oriented Designing and
Modeling, Parallel Processing, Operating Systems, Object Oriented concepts
and programming in java, Computer based management systems, Data
Structures, Fundamentals of Commerce and Business Processes. She has
completed her Ph.D. in Computer Science and Applications in
November,2016, her area of work is Web Usage Mining. She has
published/presented thirteen research papers in national/ international
journals/conferences of repute.
... Software testing, which can be defined as the evaluation of the produced software, is a very important step for ensuring a good software quality [18]. To add more clarity to this statement, [19] highlighted that software testing can be divided into two major categories, which are static testing and dynamic testing. The first type which is static is performed to evaluate the requirement document, software design, and source code through inspections, walkthrough, and reviews. ...
... The first type which is static is performed to evaluate the requirement document, software design, and source code through inspections, walkthrough, and reviews. On the other hand, dynamic testing is the examination of the produced software by executing it using different inputs; this type of tests let developers to observe the performance and behavior of the system [19]. ...
... A good software quality cannot be done using one type of dynamic testing. Hence, many types of dynamic testing are available like unit testing, integration testing, system testing, and acceptance testing [19]. ...
Article
Full-text available
Software systems are hard to complete as customers became hard to satisfy and their requirements are more complicated. In this paper, quality factors that affect software are discussed, with some well-known standards that improve and assist while planning for quality assurance. The testing strategies and types that contribute to improving quality are also highlighted. A development methodology was mentioned as it gives more support to the testing phase.
... A vital phase in SDLC is software testing. This phase follows the development phase and consists of a set of activities that assure the team is developing the right software with high-quality levels [1]. Numerous testing types are available to test various aspects of a software product. ...
... New synthetic samples (x ij ) labeled with the minority class are generated using the k-nearest neighbors' method for each minority sample (x i ) using the Euclidean distance, where j = 1, 2, ..., k. The new synthetic samples are generated along the lines joining the minority sample and its j selected neighbors as in (1). ...
Article
Full-text available
Software Fault Prediction (SFP) is an important process to detect the faulty components of the software to detect faulty classes or faulty modules early in the software development life cycle. In this paper, a machine learning framework is proposed for SFP. Initially, pre-processing and re-sampling techniques are applied to make the SFP datasets ready to be used by ML techniques. Thereafter seven classifiers are compared, namely K-Nearest Neighbors (KNN), Naive Bayes (NB), Linear Discriminant Analysis (LDA), Linear Regression (LR), Decision Tree (DT), Support Vector Machine (SVM), and Random Forest (RF). The RF classifier outperforms all other classifiers in terms of eliminating irrelevant/redundant features. The performance of RF is improved further using a dimensionality reduction method called binary whale optimization algorithm (BWOA) to eliminate the irrelevant/redundant features. Finally, the performance of BWOA is enhanced by hybridizing the exploration strategies of the grey wolf optimizer (GWO) and harris hawks optimization (HHO) algorithms. The proposed method is called SBEWOA. The SFP datasets utilized are selected from the PROMISE repository using sixteen datasets for software projects with different sizes and complexity. The comparative evaluation against nine well-established feature selection methods proves that the proposed SBEWOA is able to significantly produce competitively superior results for several instances of the evaluated dataset. The algorithms’ performance is compared in terms of accuracy, the number of features, and fitness function. This is also proved by the 2-tailed P-values of the Wilcoxon signed ranks statistical test used. In conclusion, the proposed method is an efficient alternative ML method for SFP that can be used for similar problems in the software engineering domain.
... Development of software includes testing to ensure quality [29][30][31]. Quality assurance activities such as software testing are performed through the use of software testing tools such as HP ALM, Selenium, and JMeter [32]. As the software testing market increases at a 7% Compound Annual Growth Rate (CAGR) globally, the scarcity of software testers grows [33]. ...
Article
Full-text available
The restrictions of the ongoing COVID-19 pandemic resulted in the downturn of various industries and in contrast a massive growth of the information technology industry. Consequently, more Filipinos are considering career changes to earn a living. However, more people still need to be upskilled. This study combines the extended Technology Acceptance Model and Task Technology Fit framework to determine factors affecting a career shifter’s use of software testing tools and its impact on perceived performance impact amidst the COVID-19 pandemic in the Philippines. A total of 150 software testers voluntarily participated and accomplished an online questionnaire consisting of 39 questions. The Structural Equation Modeling and Deep Learning Neural Network indicated that Task Technology Fit had a higher effect on Perceived Performance Impact. Moreover, Task Technology Fit positively influenced Perceived Usefulness. Computer Self-Efficacy was a strong predictor of Perceived Ease of Use. Perceived Ease of Use confirmed the Technology Acceptance Model framework as a strong predictor of Actual System Use. Intention to Use, Perceived Usefulness, Actual Use, and Subjective Norm were also significant factors affecting Perceived Performance Impact. This study is the first to explore the career shifter’s use of software testing tools in the Philippines. The framework would be very valuable in enhancing government policies for workforce upskilling, improving the private sector’s training and development practices, and developing a more competitive software testing tool that would hasten users’ adaptability. Lastly, the methodology, findings, and framework could be applied and extended to evaluate other technology adoption worldwide.
... [9] talks about the various manual and automation testing methods along with their advantages and disadvantages. The paper also presents a comparison between different types of testing such as static vs. dynamic testing, white box vs black box testing etc. [10] covers the concept of testing, its role in assuring quality, test cases, levels of testing, methods of testing and test planning, executing and monitoring. The papers emphasize on the use and impact of test driven environment with concept of story board based implementation. ...
... If the test fails, the examiner must document what actually happened during the trial. This phase also involves bugs in the designated bug tracking system (defined in the planning phase) [12]. ...
Article
Full-text available
Testing is a process of implementing a program with the aim of finding an error. A good test case is one of the tests that have the possibility of finding an undisclosed error. One of the existing types of testing is the Concolic Unit Testing Engine. In this research, testing is applied using the Jcute tool, which is a tool to systematically and automatically test sequential C programs (including instructions) and Java programs together. This test is carried out on the search function of an element of data in the Binary Search Search Algorithm. However, to check whether concolic testing can detect bugs in the software practically through case studies. This research describes a case study of the application of a test tool to a Java application. Through this research, we tested the path coverage and Branches Covered. We can also find out the details of total branches covered; total functions invoked, percentage of branches covered and the number of iterations. JCUTE can also find an interleaving of two sequences or circuits that results in an infinite loop.
Chapter
This chapter gives background information on the basic concepts and preliminaries in the area of software testing.
Article
Full-text available
Currently, because of the Covid-19 pandemic there a lot of demand to use online Learning Management System (LMS). The LMS available usually offer similar features and is hard for user to choose which is appropriate for them. The key criteria for analysing LMS are learning skills tools, productivity tools and communication tools. The purpose of this paper is to do systematic review on the current LMS, the problem with current LMS and the potential solutions that might help. To serve this purpose five learning management system are chosen which are Moodle, Sakai, SumTotal, Blackboard and ATutor among the other learning management systems in the market. The reasons are it consists of open source platforms such as Moodle, ATutor and Sakai and commercial platforms such as Blackboard and SumTotal. The findings from this review is quite interesting and it can be used to help users such as university/colleges, and students in selecting their LMS. It also give some ideas to LMS developer in enhancing their LMS or proposing a new features.
Article
Full-text available
For an organisation to achieve success as regards software outsourcing, it is important for such organisation to have a clear understanding of the requirements necessary for success. A strategic analysis approach posits that successful software development outsourcing is influenced by a number of critical success factors. In this paper, the researchers identified six (6) critical success factors of software development outsourcing for Nigeria; these critical success factors were thereafter discriminated against an outsourced software development to predict the success or non-success of the software project. A sample size of 50 respondents was used in this research, and primary data was derived from our sample respondent through a well-structured questionnaire. Furthermore, a discriminant function analysis was adopted in analysing the collected data. The results of the analysis indicated that the prediction of group membership for the outsourced software project showed more sensitivity towards successful than not successful. Hence the outsourced Citrix software was classified successful by 96.8% using the six (6) critical success factors (Cost Saving and Financial Stability, Effective Communication and Trust, Technical Expertise and Knowledge Transfer, Understanding Software Development Outsourcing Industry, Effective Software Privacy and Security, and Overcome Cultural Barrier). However of the six (6) factors, Understanding Software Development Outsourcing Industry (USDOI), and Technical Expertise and Knowledge Transfer (TEKT) contributed more to predicting the group memberships of the outsourced Citrix software by 57.5% and 34.7% respectively. The discriminant function was therefore derived of the form; Df (Citrix Software for ATM Reconciliation) =-17.640 + .098CSFS + .026ECTR + .347TEKT + .575USDOI-.019ESPS + .124OCBA. The results of the discriminant factor analysis validates the six success factors as critical to successful software development outsourcing.
Conference Paper
Full-text available
The development of large software systems is a complex and error prone process. Errors may occur at any stage of software development. These errors, sometimes referred to as bugs, can cause great losses in terms of both time and money if not identified and removed as early as possible. Software testing plays a major role in software development life cycle (SDLC). It ceases the propagation of errors and thus decreases costs. But software testing itself can be costly. Research point out more than 50% of the total cost of development is devoted to software testing. However, testing is essential to ensure that the software is capable of doing what it was designed to do. Testing becomes expensive since it takes much time. This is because of the need to test many combinations of its functions, integrity, performance and so on, which can be called as test cases. A software company's goal would be to reduce the testing time, so that they can save money and deliver the product much faster to the customer. Testing time can be reduced in two main ways, first by reducing number of test cases and second by automating repeatedly tested areas. This paper will discuss fundamentals of testing such as importance and difference of verification and validation, recent advances in agile software testing, testing throughout the SDLC and testing methods, levels and types. Finally as a conclusion it will also shed some light on combinatorial testing to reduce number of test cases and test automation to reduce manual testing time as the solutions to long testing time problem.
Article
Full-text available
Software testing is the process of analyzing software to find the difference between required and existing condition. Software testing is performed throughout the development cycle of software and it is also performed to build quality software, for this purpose two basic testing approaches are used, they are white box testing and black box testing. One of the software testing technique which I have explain in my paper is Black Box Testing, it is a method of generating test cases that are independent of software internal structure, I have also briefly explore various different approaches to black box testing technique for finding errors. Since black box testing is always based either directly or indirectly on the software specification so it is also called specification based testing.
Article
The idea of risk-based testing is to focus testing and spend more time on critical functions. By combining the focused process with metrics it is possible to manage the test process by intelligent assessment and to communicate the expected consequences of decisions taken. This paper discusses an approach to risk-based testing and how risk-based testing was carried out in a large project in a financial institution. The paper concludes with how practical risk-based testing experience should inform theory and provide advice on organizational requirements that are necessary to achieve success.
Article
This paper extends a theory of risk-based test planning that was outlined in a previous paper, introduces techniques to facilitate it, explains their practical application, and highlights opportunities for research to enquire into their feasibility and efficacy. Copyright © 2004 John Wiley & Sons, Ltd.
Article
1. PROBLEM The challenge of research in software quality is to provide tools and technology that will enable the software industry to deploy software products and services that are safe, dependable, and usable within an economic framework allowing companies to compete effectively. Meeting this challenge will have a significant effect on national economies, national security, international competitiveness, and societal well-being. Software quality concerns are quite broad, including, for example, correctness, robustness, readability, and evolvability. There is no single monolithic measure of software quality, and no general agreement about how to quantify definitively any of the key quality concerns. The actual levels of quality achieved in practice are dictated by quality assessment tools and technologies and willingness to pay for applying them. To meet the software quality challenge, research must first meet some substantial challenges. It is necessary to improve the current tools, technologies, and their cost-benefit characterizations. But researchers must also take the lead in looking beyond post-development testing to study the tools and technologies for building inherent quality into software. New analysis and design technologies will have to play a greater role in achieving and demonstrating the quality of software, increasingly reducing dependence upon after-the-fact testing techniques. While awaiting the results of this needed innovative research, practitioners could benefit significantly from the transfer of past and current research to practice. One major obstacle to transition seems to be a scarcity of experimental work that is sufficiently solid and well measured to justify the risks entailed in a transition to industrial practice. Past technology transfer failures are damaging to both the research and practitioner communities.
A Comparative Study of Black Box Testing and White Box Testing Techniques
  • M Kumar
  • S K Singh
  • . R K Drivedi
M.Kumar, S.K.Singh,. R.K.Drivedi, "A Comparative Study of Black Box Testing and White Box Testing Techniques", International Journal of Advance Research in Computer Science and Management Studies, Volume-3, Issue 10,pp. 32-44,October 2015, ISSN: 2321-7782
Analysis of Different Software Testing Techniques
  • Suresh Jat
  • Pradeep Sharma
Suresh Jat and Pradeep Sharma, "Analysis of Different Software Testing Techniques ",International Journal of Scientific Research in Computer Science and Engineering Vol.5, Issue.2, pp.77-80, April 2017.