StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Testing - Research Paper Example

Cite this document
Summary
Testing (software) is an analysis carried out to present stakeholders with facts concerning the quality of the product or service under investigation (Ammann & Offutt, 2008). …
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER93.6% of users find it useful
Testing
Read Text Preview

Extract of sample "Testing"

? Test Essay Test Essay Testing/User Testing Testing (software) is an analysis carried out to present stakeholders with facts concerning the quality of the product or service under investigation (Ammann & Offutt, 2008). Software testing can also give an objective, sovereign view of the software to permit the business to understand and acknowledge the risks of software realization. Test methods include, but are not restricted to, the process of using an application or program with the aim of finding software errors, bugs or other defects (Humble & Farley, 2010). Testing begins the same time as the system design. Test groundwork is carried out by a unique group to make sure that each and every element is correctly handled. Unit test is managed by the programmer who creates the code. Every programmer tests their own code. Any bug found is rectified by the programmer, and the programs are reevaluated till clean (Humble & Farley, 2010). When testing has been done to all the programs, and no error has been found, the test begins. The division of debugging from testing was originally introduced, in 1979, by Glenford Myers (Ammann & Offutt, 2008). Even if, his goal was on breakage testing ("an effective test is one that locates a bug") it demonstrates the need of the software engineering society to divide fundamental development actions, such as repairing, from that of authentication. Concerning the periods and the diverse objectives in software testing, diverse roles have been set: manager, test lead, test designer, test analyst, tester, test administrator and automation developer. Ammann & Offutt (2008) classified the goals and phases in software testing in the following stages: Debugging oriented (1956) Demonstration oriented (1957–1978) Destruction oriented (1979–1982) Evaluation oriented (1983–1987) Prevention oriented (1988–2000) How Testing is Controlled Test control can be considered as the test management tasks needed throughout the test procedure so as to keep the testing aligned to the software development procedure, the requirements of the project, and the requirements of the firm wanting to use the software (Miller, DeCarlo & Mathur, 2004). These tasks take place as stipulated, based on the decision of the test manager, as well as other associates of the project team, and can also occur on a premeditated basis (Miller, DeCarlo & Mathur, 2004). Testing is controlled by ensuring that Software Quality Control is set up. Software Quality Control refers to a set of protocols used by companies to make sure that a software product will fulfill its quality objectives at the best value to the client, and frequently to improve the firm’s capacity to produce more software products in the future. Software quality controls are specified requirements, both functional and non-functional, such as supportability, usability and performance (Cangussu, DeCarlo & Mathur, 2002). It also refers to the capacity for software to perform effectively in unpredictable scenarios and maintain a fairly low fault rate. These premeditated procedures and requirements bring about the idea of software testing, Validation and Verification It is different from software quality assurance, which incorporates reviews of the quality management system alongside a standard. While software quality control refers to control or management of products, software quality assurance, on the other hand, is a control of processes. This function checks whether or not a software project follows its premeditated procedures and processes, and that the project brings out the anticipated internal and external products (output) (Miller, DeCarlo & Mathur, 2004). Managing Creativity When managing creativity with regards to software management, it is vital to differentiate two main viewpoints: activity-level (or task-level) analysis, as well as process-level analysis. The activity-level viewpoint pertains to the issues of how pockets of creativity are typified and how they can be endorsed (Sommerville, 2006). The process-level viewpoint, on the other hand, takes a look at the main software process; the existence of creative roles within a software procedure significantly affects the entire process. Software creativity takes place when people take time to investigate the design space of potential, instead of instantly settling on the first solution, which comes to mind. Creating a software product is one of the key, as well as most creative activities, which humans embark on. The main curb in software is the human mind, and the restrictions, which are all self-imposed. In the model discussed by Schach (2011), the reader sees a linear, chronological model of Software Development, a matter that radically decreases people’s ability to develop extremely great software (Sommerville, 2006). With the exploitation of creativity, it is likely to develop great software. The only issue is that by doing so, firms need to let these developers have their freedom in order to explore diverse designs, as well as the ability to select the design, which most strongly matches the spirit of the needs instead of the letter of the needs documents; however, firms are not willing to fulfill this. Schach (2011) argues that a software creator should create three alternative software designs so that the chances of one or yet all of them to be successful. Managing Scalability/Managing Large Projects Software developers go through major complexities managing growth of their software’s scale and functionality. In order to be able to manage scalability, Beck (2000) has the following recommendations; developers should organize their work in a manner, which permits them to be open to change due to the market or users’ needs. Developers should distill user needs into user stories. They manage a product surfeit of user stories. It is also vital for developers to manage scope and priority, as well as setup diverse environments for their project, along with facilitate their duties to progress across these environments (Tian & Noore, 2005). It is advisable for software developers to discover an appropriately continuous incorporation setup for their work and develop an application’s outline and an applicable data-model. They should work together in a cross-skilled team. And finally, software developers should ensure that their software code is clean, test driven, as well s object oriented (Beck, 2000). Finally, when it comes to large software management, it is vital for all stakeholders during the development to know that software development is not product manufacturing. Costs and schedules are not, by any means, interchangeable (Beck, 2000). The most prominent data for gauging success is the developer’s own and the developer should not get lost in a lot of details. It is vital to know that success and change never come for free; therefore, proper planning and monitoring of the work is advisable (Tian & Noore, 2005). Software developers have a tendency of using estimates as a project plan; however, and estimate is simply and estimate, and when using in project management, then the consequences might be harsh. The Conversion Process, Techniques and Issues Many firms have invested in custom-made software for their company-specific needs. These developments have normally occurred over a long period of time, perhaps even on numerous development stages, in several programming languages and by many software engineers (Sarre, Myka & Guntzer, 2009). The conversion process/procedure comprise of three steps: importing existing source code, optimization and documentation and, finally, export to a novel programming environment (Penedo, 2005). In this first process, the source code of the present application should be introduced into the conversion system. Once brought in into the Object Repository, a large variety of processes are initiated. All independencies and dependencies of the source code, data files and variables, are identified. After optimization done together with documentation, the code is taken to the new development stage. Some of the software conversion methods include parallel conversion, direct conversion, pilot conversion and phased conversion. Parallel conversion is keeping the previous system running along with the new-fangled system for the first few months after the initiation of the new system (Penedo, 2005). Direct conversion concerns taking the previous system offline and putting the fresh system online in a day. Pilot conversion concerns utilizing the new system in simply a small section of the firm (Sarre, Myka & Guntzer, 2009). Finally, phased conversion concerns taking offline some elements of the former system and substituting them with matching parts of the fresh system. Maintenance expenses for such systems are escalating. New functionalities, for instance, the link to the Internet, are extremely difficult, if not viable to execute. Documentation for these systems is ever missing or frequently outdated. Therefore, dedicated hardware becomes outmoded (Sarre, Myka & Guntzer, 2009). Staffing Levels/Issues/Deadlines The staffing level comprises of the test groups and the staff group. As the software developers are working on their full design and programming, the test group, on the other hand, arranges for the system test, the approval test, as well as the site test. Such tests are not incorporation tests. The aim of the system test is to evaluate the function and not the arrangement of the system (2007). The staff group is split into two parts: administrative support and technical support. The technical group manages computer time, database administration, systems administration and training, housekeeping and completes particular assignments (Endres & Rombach, 2003). The administrative group, on the other hand, is accountable for report control, document control, secretarial administrative services and contract change control. The people who make up these two groups are the surgeon, co-pilot, administrator, editor, secretaries, program clerk, toolsmith, tester and the language lawyer. The teams work as a unit. The surgeon is responsible for all technical decisions and sets all technical rulings (Selby, 2007). Therefore, there are no distinctions of interest, and the surgeon resolves all technical quarrels. The magnificence of this scheme is that the programming and design all flow from one brain. This leaves, in reality, no possibility for miscommunication concerning technical facts of the system. But, in spite of its elegance, the chief programmer group is almost impossible to execute. It needs not two superprogrammers, which, in reality, is difficult to work (Selby, 2007). The mission is made much harder with the urge to have one of the extremely talented programmers (co-pilot) take a back seat and act as a help. Project Organization When it comes to project organization, Lin & Huang (2009) advise firms to focus on the three P’s: people, process and problem. The project organization includes the manner in which staff is structured and ways for project reporting. People are imperative components to the accomplishment of a software project. Some of the key players are the senior managers, project managers, customers and the end users (Ocker, 7). Project managers are expected to portray traits such as problem solving, achievement, managerial identity and influential, as well as team building. The project team should be organized into a number of diverse structures. Suitable team units rely on the type of problem. These stakeholders the people who hold the team together to ensure that there is a product to offer to the market in the first place (Lin & Huang, 2009). A major problem associated to project organization is a develop replica, which stresses on factors that affect social, psychological, as well as organizational procedures, in order to illustrate how they persuade quality and productivity. This model comprises of the following levels: individual, team, project, company and business milieu (Ocker, 7). Condition mistakes frequently happen when project designers lack suitable application knowledge to interpret client intentions. Unique project designers stand out than a majority of other designers who do not put too much effort to their projects. Designers of the project must choose the process, which is appropriate and suitable for the project at hand. The project manager is the person who decides the process model. He or she defines the preface plan rooted in the process model (Lin & Huang, 2009). Project Structures The project structure includes the manner in which staff is ordered and techniques for project reporting. Both the reporting mechanisms and the team structure are greatly dependant on the duration and size, along with the temperament of the project (Jeong & Schach, 2005). The Scrum structure consists of three roles: the owner, the master and the team. The owner is the person who signifies the firm. The master is the project manager accounted for controlling the process. Finally, the team is composed of those who execute the project. An advantage of the scrum structure is that it allows good development, which results in a commercial product even when the project is not complete. However, it can be hard for the master to structure, plan and organize a project, which lacks a clear meaning (Kazman & Klein, 2006). Furthermore, normal changes, normal product delivery and doubt concerning the precise nature of the product make for a somewhat intense life cycle for everyone concerned. Project Roles Any software-based product-development project has at its core; a group of people aiming to fulfill the collective requirements of the project’s stakeholders (McCarthy, 2006). This main team, on the other hand, depends on an extended team to provide it with the vital context through which it functions. Both groups can only do a great job so as to be sure of a prominent result. The interaction designer ensures the interaction objectives of the system are visibly explained and concurred upon by every stakeholder (Acuna & Juristo, 2004). The chief engineer determines the needs of stakeholders, which the product should meet and frequently manages the development of the program to make sure it is on target to meeting those requirements. The architect, on the other hand, makes sure that the product or service being developed attains its performance, as well as other qualitative needs. The GUI designer helps in writing and clarifying user personas and stories. The requirements analyst implores and elaborates stakeholder requirements and needs. The storyboard artist illustrates user stories during planning sessions and workshops (Acuna & Juristo, 2004). The content artist, on the other hand, creates, enhances and modifies graphical content to go with its presentation context. The technical writer provides early comment to the main and extended groups concerning desirable features. The internal marketer generates leads for extra features amongst the stakeholder community (McCarthy, 2006). And finally, the project public relations officer promotes the system and its elements amongst the vital stakeholders in order to maximize positive comments, their partaking in the project and the visibility of the group, as well as its outputs. References Acuna, S. T., & Juristo, N. (2004). Assigning people to roles in software projects. Software Practice and Experience, 34(4), 675–696. Ammann, H., & Offutt, P. (2008). Introduction to software testing. Cambridge, UK: Cambridge University Press. Beck, K. (2000). Extreme programming explained: Embrace change. Addison-Wesley Longman: Reading, MA. Cangussu, J. W., DeCarlo, R. A., & A. P. Mathur. (2002). A formal model of the software test process. IEEE Transactions on Software Engineering, 28(8), 782-796. Endres, A., & Rombach, H. D. (2003). A handbook of software and systems engineering: Empirical observations, laws and theories. Addison-Wesley Longman: Reading, MA. Humble, J., & Farley, D. (2010). Continuous delivery: Reliable software releases through build, test, and deployment automation. Addison-Wesley Longman: Reading, MA. Jeong, L., & Schach, R. (2005). An Empirical Investigation of the Impact of the Object-Oriented Paradigm on the Maintainability of Real-World Mission-Critical Software. Journal of Systems and Software, 77(3), 131-138. Kazman, B., & Klein, H. (2006). The essential components of software architecture design and analysis. Journal of Systems and Software 79, 1207-1216. Lin, C., & Huang, C. (2009). Staffing level and cost analyses for software debugging activities through rate-based simulation approaches. IEEE, 58(4), 711 - 724. McCarthy, R. (2006). Breaking down software development roles. New Jersey: Jupitermedia Corp. Miller, S. D., DeCarlo, R. A., & Mathur, A. P. (2004). Modeling and control of the incremental software test process. IEEE, 2, 156-159. Ocker, R. (2011). Software project organization concepts. New York: Oxford University Press. Penedo, M. (2005). A project master database for software engineering environments. Proceedings of the software engineering conference. Los Alamitos, CA: CS Press. Sarre, F., Myka, A., & Guntzer, U. (2009). Hypertext for software engineering: automatic conversion of source code and its documentation into an integrated hypertext. Database and Expert Systems Applications, 5(7), 463-468. Schach, S. R. (2009). Object-oriented and classical software engineering (8th ed.). New York: McGraw-Hill. Selby, R. W. (2007). Software engineering: Barry W. Boehm's lifetime contributions to software development, management, and research. New York: John Wiley & Sons. Sommerville, I. (2006). Software engineering. Addison-Wesley Longman: Reading, MA. Tian, L., & A. Noore, J. (2005). On-line prediction of software reliability using an evolutionary connectionist model. Journal of Systems and Software, 77(2), 173 -180. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Testing Research Paper Example | Topics and Well Written Essays - 2000 words”, n.d.)
Testing Research Paper Example | Topics and Well Written Essays - 2000 words. Retrieved from https://studentshare.org/information-technology/1487780-test-essay
(Testing Research Paper Example | Topics and Well Written Essays - 2000 Words)
Testing Research Paper Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/information-technology/1487780-test-essay.
“Testing Research Paper Example | Topics and Well Written Essays - 2000 Words”, n.d. https://studentshare.org/information-technology/1487780-test-essay.
  • Cited: 0 times

CHECK THESE SAMPLES OF Testing

Animal Testing as an Unethical Practice

After experiencing the suffering of a frog during a dissection practice lesson in high school, the urge to re-evaluate the consequences of animal Testing was unavoidable.... The hypothesis of this paper is that animal Testing is an unethical practice that should be replaced with alternative medical research procedures.... By taking a multi-point view, this essay aims at evaluating the pros and cons of animal Testing from a neutral ground to expose in black and white the nature of this procedure....
8 Pages (2000 words) Essay

Routine Antenatal HIV Testing

(Mercey, 1998) Therefore in order to encourage patients, the Testing must in these cases ensure protection against "discrimination, stigmatism and violence.... The guidelines also insist upon increasing antenatal HIV Testing to 50% or more.... Further, the guidelines state that these percentages must be increased to 90% so that 80% of the women can be identified for HIV during antenatal Testing.... (Conner et al, 1994) The policy of universal Testing has been introduces, so as encourage women in to taking the test....
4 Pages (1000 words) Essay

Genetic Testing

The writer will… then raise his most concerned argument and ethical considerations in the light of Utilitarian and Deontological theoretical concepts of business ethics. Genetic Testing refers to the use of medical tests through which doctors could predict the occurrence of genetic disorders Indeed, employers are also inclined to conduct these tests, either clandestinely or overtly, of their employees to ensure they could be able to match workplace environment or would develop diseases amid genetic abnormalities....
5 Pages (1250 words) Research Paper

Software Testing: Pennywise National Bank

Therefore, experimental design is the best method of Testing software (Basili and Selby, 1987).... Review of software requirements is not considered as Testing.... Prevention Testing involves analysis and review besides improvement of the software specifications and design.... The structural Testing will be done using 1005 statement coverage criteria.... Finally, the functional Testing will be done using equivalence partitioning and analysis of the boundary value (Basili and Selby, 1987)....
5 Pages (1250 words) Research Paper

Hypothesis Testing

Hypothesis Testing is a process that uses of selected data from samples to make conclusions if there is enough evidence to revoke the idea no changing is occurring in the population under study.... Hypothesis Testing is significant in determining whether the test data has any… Statistical importance is found when it comes clear that the findings in the samples are likely not to occur if the findings are not present in the case population (Black, 1999). Hypothesis Testing divides into two categories: the null hypothesis and the Hypothesis Testing al Affiliation) Hypothesis Testing and data Hypothesis Testing is a process that uses of selected datafrom samples to make conclusions if there is enough evidence to revoke the idea no changing is occurring in the population under study....
1 Pages (250 words) Assignment

Absence of Bugs, Fault and Failure after Testing

Kaner, Falk & Nguyen (2009) defines software Testing as an investigation that is done to give the various stakeholders in software development information regarding the quality of the product.... According to Meyer (2008), software Testing can be done immediately an executable application is available.... In most instances, the approach which is being used in the software development process will dictate when the Testing will be done and how it will be carried out....
4 Pages (1000 words) Essay

Hypothesis Testing as an Essential Part of Decision-Making Procedure

Hypothesis Testing entails a statistical inference technique that allows a researcher to retain or reject their proposition regarding a subject matter.... A subject matter in such a case may be an event happening within their environment or statistical applications within their… During hypothesis Testing the researcher allows themselves a confidence level as they are not 100% sure of the event happening (John, 2007). Hypothesis Testing is an essential part of our decision-making procedure that makes individual to anticipate....
1 Pages (250 words) Essay

Compression Testing

Value of ultimate compressive strength depicted proximity to similar The paper "Compression Testing" is a good example of a lab report on formal science and physical science.... Economically, the collapse of structures leads to loss of funds by stakeholders thus necessitating thorough Testing to determine suitable materials for construction.... Compression Testing is a procedure for defining behavior exhibited by various engineering materials under loads of compressive nature....
3 Pages (750 words) Lab Report
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us