Name: Rushmali Hadley
Subject: English 223
Professor: Phillip Mirabelli
Date: May 22nd, 2018
Does Othello really love Desdemona?
People often ask themselves what is love? My definition is love may be defined as when one person has a deep connection and understanding for another person. When someone is in love they will cherish and care for their partner as much as possible.
Best services for writing your paper according to Trustpilot
* All Partners were chosen among 50+ writing services by our Customer Satisfaction Team
Every relationship tends to have problems at some time in life, but it is up to the couple to do their best to keep the relationship together no matter the cause. Othello and Desdemona are a couple whose relationship is strong their loyalty to one another is perfect. But as all relationship does their relationship has gotten to a point where I ask myself the generated question topic “Does Othello really love Desdemona’.
Othello and Desdemona have a sincere and never-ending relationship in the play. Othello character in this book is a military man with good courage in battle and good judgement skills but not good skills on how to love a female. Desdemona character we see as the central character in the book she is young and very beautiful. Desdemona is so in love that she goes against traditional values by marrying a man of color. The couple is of different racial background which is a major problem for Brabantio who is Desdemona father and who will do anything just to break them up. But despite this, the couple is still able to show each other their love despite Barbantio stand about a black man and his daughter.
In the opening of the play, they confess to others that their love is real and skin color should not matter and that the opinion of others should not matter, and their opinion does not and cannot affect them.
Later in the play not because we saw Othello and Desdemona in a strong committed relationship that doesn’t mean that all is well as it normally said: “not all glitter is gold”. Othello and Desdemona seem happy, but this is not so there was never a steady rock a steady base on which the relationship started. There was no ground for communications it seems as if it all started on infatuation there was no understanding. Othello, I think is still troubled after spending most of his time at war. Othello mostly spends most of his time talking about battles and the experience he had he is happy that Desdemona is feeling some sought of remorse for him. He is seen in the eyes of Desdemona as a hero a stronghold. She sees him this way because she has been sheltered she has never been experienced in the world she is living the life of a child a little girl to be specific. She is new to the world and what it must offers. All these conversations Othello is having is forming a burning love and feelings for Desdemona she is being bounded by love for this Othello whom she hardly knows. Because this relationship was not firmly bond we see problems arising. Another reason for bringing out these problems is that Othello has been around men his entire life in battles, so he does not really know how to address the situation with Desdemona not only Desdemona but people in general. He even embarrasses her in front of the guest at the dinner party when he hit’s her but being the sheltered woman in love who knows nothing about the outside world does anything to defend herself.
Later in the play as a new character is introduced to the play that goes by the name of Iago. He enjoys working people, so they can do what he wants just to make him happy. Iago is a typical character who has a dislike for a woman he shows no love or affection for the other sex. He has no sympathy for a woman he always criticizes them although they have never done anything of any sort of bad to him in no way at all. Iago is so prudent that he tells Othello that he thinks he has generated feelings for him while at the same moment he is telling him the bitterest words in his ears. Iago main intention is to bring down Othello he is not a real friend to Othello the Moor he is just bent on bringing him to a fall he is just the as jealous minded man. He has no heart I see Iago as a heartless man, this only proves my judgment about Iago true when he goes the distance to tell Desdemona his romantic taught and he feels about her, but he does it in a sexually related atmosphere. I really don’t thing Iago loves her because in the start we saw him as a man who dislikes woman he didn’t have any feeling towards them so why suddenly, he has all these feelings towards Desdemona this does prove how he really wants to bring Othello down. I don’t think Iago understands what it means to love. Othello then question if Iago is trying to come on to Desdemona, this then makes Othello jealous of Iago who has always influenced by the relationship. This shows how intimidated Othello is by Iago, this just shows the love Othello thinks he has for Desdemona he is feeling this way because of the true and sincere in love with Desdemona. Othello then becomes this maybe Desdemona may no longer love him the way he is loving her and will continue to love her. Desdemona father has now come into the action to voice his concerned that he is not pleased to know that his daughter may have married a Moor a man of color a black man. Brabantio acts as a concerned father he then confronts Othello to hear what he has to say and to find out exactly what is going on. Othello then says to Brabantio “And bade me, if I had a friend that loves her I should but teach him how to tell my story, and that would woo her upon this hint I spoke she loves me for dangers I have passed and I love her that she did pity them this only is the witchcraft I have used he comes the lady let her witness (1:3:163). After saying this to Brabantio Othello makes it clear that the love he has for his daughter is genuine and he did not force himself upon Desdemona. He does not only think as her as his wife but as this beautiful Goddess. Her appearance and status in society make her that Godly young lady in this taught.
After reading this entire play I have come to recognize that Othello is more of a romantic male maybe this was why he was accused of stealing the attractive Desdemona away from her father causing him to be mad with Othello. Othello tells of the past time of how he was suffered and condemn from the start because of Othello complexion being a black man. Racism plays a major and important role in this play. In act 1 scene1 we see Othello being compared to a black ram “An old black ram is topping your white ewe. This is talking about Othello and Desdemona sexual feeling towards each other. Brabantio claims that it is unacceptable for a young white woman to ever be with a black man. He also makes assumptions that it was witchcraft that made his daughter fall in love with Othello. I also think that another reason why the marriage was condemned is that Desdemona was never really seen as a lady she was a girl. Othello reminisces about past times and how her father shows him love during the past years but was still unable to see past his skin color and accept him for his daughter.
I believe if the relationship had started out differently they might have had a chance Relationships require certain attention for it to last and there have certainly lack it. However not only a lack of communication and love cause the relationship to end but also racism, this had a big impact on the relationship because Desdemona father was never in support of his daughter relationship with the Moor. I still think that we are all one and our skin color should not matter who we marry or don’t marry, and Brabantio should not have been in love with his daughter romantic life. Overall, I think we just must just conclude that Othello did love Desdemona even thou he was the one that killed her. I see this seen as a kill of passion meaning that Othello may have loved her so, much that he couldn’t stand to see her with any other man than himself, however I am not condoning what Othello did. Personally ill called this the love triangle because emotions and feelings were played with by a third party. Decisions were never left up to the couple to make.
Name : RAJANPREET KAUR Family name : RAJANPREET KAUR
Student ID: 1824305 Group:
Assignment#1 (20 Mark)
Note: The answers should be summarise in your own language; otherwise it will reduce some marks.
1. What is a software testing?
and which one of the following statement is correct?
a) Software testing can evaluate a system but its components with the intent to find that whether it only satisfies the specified requirements.
b) It involves execution of a software to evaluate only one properties of interest.
c) It helps to identify errors but is not able to fix the gaps or missing requirements.
d) It can check that the actual result matches the expected result.
ANSWER(a): Software Testing is the process of identifying the correctness and quality of software program. The purpose is to check whether the software satisfies the specific requirements, needs and expectations of the customer. In other words, testing is executing a system or application in order to find software bugs, defects or errors. The job of testing is to find out the reasons of appli-cation failures so that they can be corrected according to requirements.
Car manufacturer tests the car for maximum speed, fuel efficiency and safety from crash. These tests later become the part of advertising strategy for car sales.
Ways of Software Testing
1. Manual Testing: Test Cases executed manually.
2. Automation Testing: Testing performed with the help of automation tools.
ANSWER(b): option a is correct.
2. Choose the correct answer:
? Error : It is a system error that produces the incorrect result that produces a failure.
? Bug : The presence of error at the time of execution of the software.
? Fault : Human’s state that caused by an error.
? Failure : Deviation of the software from its expected result. It is an event.
ANWSER : Failure
Best services for writing your paper according to Trustpilot
* All Partners were chosen among 50+ writing services by our Customer Satisfaction Team
3. What is SDLC? How many stages does it have? Please describe each one in a brief sentence (using your own word)?
Answer : Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost esti-mates.
• SDLC is the acronym of Software Development Life Cycle.
• It is also called as Software Development Process.
• SDLC is a framework defining tasks performed at each step in the software development pro-cess.
• ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall devel-opment process
A typical Software Development Life Cycle consists of the following stages:
Stage 1: Planning and Requirement Analysis : it is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, opera-tional and technical areas. Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the tech-nical feasibility study is to define the various technical approaches that can be followed to imple-ment the project successfully with minimum risks.
Stage 2: Defining Requirements :Once the requirement analysis is done the next step is to clearly define and document the product requirements and get them approved from the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.
Stage 3: Designing the Product Architecture :SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements speci-fied in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS – Design Document Specification. This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. A design approach clearly defines all the architectural modules of the product along with its com-munication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.
Stage 4: Building or Developing the Product: In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle. Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being devel-oped.
Stage 5: Testing the Product: This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
Stage 6: Deployment in the Market and Maintenance: Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be re-leased in a limited segment and tested in the real business environment (UAT- User acceptance testing). Then based on the feedback, the product may be released as it is or with suggested en-hancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.
There are various software development life cycle models defined and designed which are fol-lowed during the software development process. These models are also referred as “Software De-velopment Process Models”. Each process model follows a Series of steps unique to its type to en-sure success in the process of software development. Following are the most important and popu-lar SDLC models followed in the industry:
• Waterfall Model
• Iterative Model
• Spiral Model
• Big Bang Model Other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.
4. What is waterfall model? And choose the correct statements:
a) The whole process of software development goes to one joint phases.
b) It is very straight-forward to understand and use
c) The input of one phase acts as the same input for the next phase.
d) It is a linear-sequential life cycle model
Answer (a) : WATERFALL MODEL : The Waterfall life cycle model, also known as the classic or linear-sequential life cycle model, is one of the simplest to understand and use. The Waterfall model is characterized by a series of steps that must be completed in a linear, sequential order. Each phase is completed and verified before development progresses to the next phase.
Following each phase is a formal review process that results in the decision to proceed to the next phase. Testing is performed late in the development process, and phases do not overlap. When one phase is completed, the entire development effort shifts to the next phase. This cascading flow from one phase to another is the basis of the Waterfall model’s name.
Advantages of the Waterfall model : As a formalized approach to software development, the Waterfall model is simple and easy to use. This model can be easy to implement and manage be-cause each phase has a specific purpose, and development occurs in only one phase at a time. The Waterfall model is appropriate for small development projects in which the requirements are well understood.
Disadvantages of the Waterfall model : Although the Waterfall model provides a good introduc-tion to software life cycle models, its usefulness is limited. Due to the rigidity of the model, all re-quirements must be stated explicitly before development begins. If requirements change or are added, the project must start over from the beginning. No working software is developed until very late in the process, and this delay creates a great deal of uncertainty and risk. If errors are made in requirements-gathering or design, they may not be discovered until very late in the im-plementation or testing phases. Due to these issues, the Waterfall model is inappropriate for complex projects. It should not be used for developing object-oriented software, for long-term or ongoing projects, or for projects in which requirements are unknown or subject to change.
ANSWER (b): options b and d are correct.
5. Refer to Waterfall Model Application, choose the correct answer:
a) Requirements are not very well documented or clear and fixed.
b) The project is short.
c) Product definition is unstable.
d) Technology is understood and is statics.
e) Ample resources with required expertise are available to support the product.
f) There are ambiguous requirements.
ANSWER : b and d are correct.
6. What is Iterative SDLC Model? Advantage and disadvantages ?
ANSWER : Iterative Model works on the simplified requirements which are the subsets of the software or application requirements. The product is iteratively enhanced and developed to the final product for deployment. It is called as a “build ” for each iteration. So at each build, design amendments and new functionalities are added to the product. With iterative model, the software is implemented by small portions at a time.
Applications of model Appropriate situations for using Iterative Model in the SDLC :
• Major requirements are defined but them in or details might evolve when time goes.
• New technologies are being used and there is a learning curve for the programmers to learn.
• Resources are limited to do a huge or project as if small project or teammates are in contract rather than permanent.
• Very high risk as the goal of the project might change from time to time.
Advantages and Disadvantages
• Easier to start on a complex project.
• Preview the project periodically.
• Parallel implementation is allowed.
• Project can still be managed like waterfall Model with clear schedule and milestones.
• Easier testing and troubleshooting at each build.
• Support and less costly for scope or requirement change.
• Suitable for huge and core projects.
• Better communication with business user as feedbacks can be gather at each build.
• High risk due to system architecture and designs keep changing.
• Issues might occur for integration of each build.
• More management work to do ensure each build can meet the standard.
• Overlapping implementation could be chaotic.
• Need more involvement of business users.
• Easier but more time is needed for each testing as each testing have to cover all the previous works.
7. Please choose the correct answer (Quality Assurance):
a) It ensures the prevention of error in the process used to make software Application
b) Quality Assurance doesn’t involve in process-oriented activities.
c) The Defects may arises when the Software Application is being developed.
d) None of the above answers
ANSWER : option (a) is correct.
8. What is Quality Control? please briefly explain it in your own words:
ANSWER : A definition of quality control is:
The process of inspecting products to ensure that they meet the required quality standards.
This method checks the quality of completed products for faults. Quality inspectors measure or test every product, samples from each batch, or random samples – as appropriate to the kind of product is produced. The main objective of quality control is to ensure that the business is achiev-ing the standards it sets for itself.
Advantages of Quality Control:
1. Minimal consumer complaints after the goods are delivered
2. Reduced costs (no defects — no need to patch solutions)
3. Performance improvement (QC reveals common errors and allows to avoid them in future)
4. Updates and changes can be introduced to the following projects and plans
Disadvantages of Quality Control:
1. Increased time-to-market
2. More employees needed
9. What is Verification in software testing? please briefly explain it in your own words:
ANSWER : Verification makes sure that the product is designed to deliver all functionality to the customer.
• Verification is done at the starting of the development process. It includes reviews and meetings, walk-throughs, inspection, etc. to evaluate documents, plans, code, require-ments and specifications.
• It answers the questions like: Am I building the product right?
• Am I accessing the data right (in the right place; in the right way).
• It is a Low level activity
• Performed during development on key artefacts, like walkthroughs, reviews and inspec-tions, mentor feedback, training, checklists and standards.
• Demonstration of consistency, completeness, and correctness of the software at each stage and between each stage of the development life cycle.
Advantages of Software Verification :
1. Verification helps in lowering down the count of the defect in the later stages of develop-ment.
2. Verifying the product at the starting phase of the development will help in understanding the product in a better way.
3. It reduces the chances of failures in the software application or product.
4. It helps in building the product as per the customer specifications and needs.
10. What is Static and dynamic Testing? please briefly explain it in your own words:
ANSWER : STATIC TESTING:
Static Testing is type of testing in which the code is not executed. It can be done manually or by a set of tools. This type of testing checks the code, requirement documents and design documents and puts review comments on the work document. When the software is non –operational and in-active, we perform security testing to analyse the software in non-runtime environment. With static testing, we try to find out the errors, code flaws and potentially malicious code in the soft-ware application. It starts earlier in development life cycle and hence it is also called verification testing. Static testing can be done on work documents like requirement specifications, design doc-uments, source code, test plans, test scripts and test cases, web page content.
Dynamic testing is done when the code is in operation mode. Dynamic testing is performed in runtime environment. When the code being executed is input with a value, the result or the output of the code is checked and compared with the expected output. With this we can observe the func-tional behaviour of the software, monitor the system memory, CPU response time, performance of the system. Dynamic testing is also known as validation testing , evaluating the finished product. Dynamic testing is of two types: Functional Testing and Non functional testing.
Types of Dynamic Testing techniques are as follows:
• Unit Testing: Testing of individual modules by developers.. The source code is tested in it.
• Integration Testing: Testing the interface between different modules then they are joined..
• System Testing: Testing performed on the system as a whole.
• Acceptance Testing: Testing done from user point of view at user’s end.
11. The phase in software testing in which individual software modules are combined and tested as a group called:
a) unit testing
b) System testing
c) Alpha Testing
d) Integration testing
ANSWER : option (d) INTEGRATION TESTING is correct.
Name the types of this Software Testing:
ANSWER : Integration testing is one of the type of Dynamic Testing.
12. What is Alpha testing and which one of the Entry Criteria for Alpha testing is true:
a) Delivery of Test summary report
b) Defined and Approved Requirements
c) Testable Code with Appropriate Test Environment
d) Make sure that no more additional features can be included
ANSWER (a): ALPHA TESTING : Alpha testing is a type of testing that is done on an application to-wards the end of a development process when the product is almost in a usable state.
This type of testing does not involve functional testing on the application. Instead, it is a user test-ing on the application in order to understand the user behavior and experience on the application. Normally this test is performed by test engineers, employees and sometimes friends / family members with the aim of trying to emulate around 80% of the customers. While these users test and give their feedback, the development team observes the behavior to check for design issues in the application. Alpha testing is mainly conducted to unveil bugs that might arise due to abrupt errors created by the users, validate the quality state of the software in minimal time and finally propound a build that procures the specifications required. Once this test is executed properly, the software is ready for the next stage, i.e., the beta test. Alpha testing has two phases. The first phase consists of testing by the developers. The software used is either hardware-assisted debug-gers or debugger software. The basic motive is to detect bugs quickly. The second phase of testing is done by the quality assurance team, which ensures that the build works perfectly on the envi-ronment similar to user end.
ANSWER (b) : option (c) is correct.
13. What are the Types of Beta Testing: please explain them in your own word:
ANSWER : Beta testing, which is a type of User Acceptance Testing is among the most crucial software testing, performed before the release of the software. Considered to be a type of field test, beta testing is performed by a group of end users.
Types of Beta Testing:
Beta testing can be categorized into six types, each of which caters to different aspects of the software. These, together, help developers improve the quality of the software and allow them to deliver a product that offer superior user experience. The various types of beta testing are:
1.Open Beta Testing: Open beta testing generally involves the testing of the software product by the large number of the people or target audience, before the final release. Organization decides to make software product open to public on any specific date before its release announcing that specific date. This witnesses the large participation of the public to use and evaluate the software product and accordingly, report the bugs (if any found) to the organization, along with the sugges-tions in order to improve the software quality.
This witnesses the large participation of the public to use and evaluate the software product and accordingly, report the bugs (if any found) to the organization, along with the suggestions in order to improve the software quality.
2.Closed Beta Testing: Contrary to open beta testing, closed beta testing is carried out by the se-lective and limited number of persons, which are being invited by the organization. The software product is not opened to the public.
3.Traditional Beta Testing: In this type of testing, the software product is delivered to the target market and feedback of the users is collected from all aspects. With the assistance of this type of testing the quality of the software is improved and the developers are able to make necessary changes.
4.Public Beta Testing: Similar to open beta testing, in this type of testing also, the product is de-livered to the end users worldwide, with the aid of various online channels available in the world. Moreover, the feedback and evaluated data is also collected through this means, based on which required changes and modifications are implemented by the development team.
5.Technical Beta Testing: Another important type of beta testing, technical beta testing involves delivering the software product to the internal groups of an organization, wherein the data and feedback is provided by the employees of the organization.
6.Focused Beta Testing: As suggested by the name, this type of testing is focused on evaluating and monitoring a specific feature or component of the software. Hence, in focused beta testing, the software is delivered to the market and user’s experience is collected and evaluated to make required changes.
7.Post Release Beta Testing: In post release beta testing, the product is delivered to the market for the use of the end users and their reactions, experience, and feedback is collected for the fu-ture release of the software.
14. Which of the following statements is true:
a) Acceptance Testing is a type of testing to ensure software applications will perform well under their expected workload
b) Poor scalability cannot handle the expected number of users or when it does not accom-modate a wide enough range of users.
c) Performance Testing is conducted by business owners, it tests whether the system does in fact, meet their business requirements.
d) Stress testing is used to gauge how certain stressors will affect a company. it involves test-ing an application under extreme workloads to see how it handles high traffic or data pro-cessing.
15. What is Validation in software testing?
ANSWER : Validation is determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
1.Validation is done at the end of the development process and takes place after verifications are completed.
2.It answers the question like: Am I building the right product?Am I accessing the right data (in terms of the data required to satisfy the requirement).
3.It is a High level activity.
4.Performed after a work product is produced against established criteria ensuring that the prod-uct integrates correctly into the environment.
5.Determination of correctness of the final software product by a development project with re-spect to the user needs and requirements.
Advantages of Validation:
1. During verification if some defects are missed then during validation process it can be caught as failures.
2. If during verification some specification is misunderstood and development had happened then during validation process while executing that functionality the difference between the actual result and expected result can be understood.
3. Validation is done during testing like feature testing, integration testing, system testing, load testing, compatibility testing, stress testing, etc.
4. Validation helps in building the right product as per the customer’s requirement and helps in satisfying their needs.
16. What is White Box Testing?
ANSWER : White Box Testing
White box testing is the detailed investigation of internal logic and structure of the code. White box testing is also called glass testing or open box testing. In order to perform white box testing on an application, the tester needs to possess knowledge of the internal working of the code. The tester needs to have a look inside the source code and find out which unit/chunk of the code is be-having inappropriately.
1.As the tester has knowledge of the source code, it becomes very easy to find out which type of data can help in testing the application effectively.
2.It helps in optimizing the code.
3. Extra lines of code can be removed which can bring in hidden defects.
4. Due to the tester’s knowledge about the code, maximum coverage is attained during test sce-nario writing.
• Due to the fact that a skilled tester is needed to perform white box testing, the costs are in-creased.
‘• Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems as many paths will go untested.
• It is difficult to maintain white box testing as the use of specialized tools like code analyzers and debugging tools are required.
17. What is Big Bang Approach?
ANSWER: Big Bang Integration Testing is an integration testing strategy, wherein all units are linked at once, which results in a complete and efficient system. In this type of integration testing all the components as well as the modules of the software are integrated simultaneously, after which everything is tested as a whole. During the process of big bang integration testing, most of the developed modules are coupled together to form a complete software system or a major part of the system, which is then used for integration testing. This approach of software testing is very effective as it enables software testers to save time as well as their efforts during the integration testing process.
However, if the test cases and their results are not properly recorded in big bang testing, the en-tire integration process can become complicated and may also prevent the testing team from get-ting their desired goals or results from integration testing. This approach, therefore, is generally executed by those developers who follow the ‘Run it and see’ approach.
• Big bang integration testing is used to test the complete system.
• The amount of planning required for this type of testing is almost negligible.
• All the modules are completed before the inception of integration testing.
• It does not require assistance from middle components such as stubs and driver, on which testing is dependent.
• Big bang testing is cost effective.
• There is no need of immediate builds and efforts required for the system.
• In Big bang integration testing, it is difficult to trace the cause of failures as the modules are integrated late.
• This approach is quite challenging and risky, as all the modules and components are inte-grated together in a single step.
• If any bug is found it becomes difficult to detach all the modules on order to find out its root cause.
• Defects present at the interface of components are identified at a later stage, as all the components are integrated in one shot.
• Since all the modules are tested together chances of failure increases.
• There is a high probability of missing some crucial defects, errors and issues, which might pop up in the production environment.
• It is difficult and tough to cover all the cases for integration testing without missing even a single scenario.
• Isolating any defect or bug during the testing process is difficult.
• If the test cases and their results are not recorded properly, it can complicate the integra-tion testing and prevent developers and testers from achieving their desired goals.
18. What is the black box testing and what are the advantages?
ANSWER: Black Box Testing
The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester is oblivious to the system architecture and does not have access to the source code. Typically, when performing a black box test, a tester will interact with the sys-tem’s user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.
• Well suited and efficient for large code segments.
• Code Access not required.
• Clearly separates user’s perspective from the developer’s perspective through visibly defined roles.
• Large numbers of moderately skilled testers can test the application with no knowledge of im-plementation, programming language or operating systems.
• Limited Coverage since only a selected number of test scenarios are actually performed.
• Inefficient testing, due to the fact that the tester only has limited knowledge about an applica-tion.
• Blind Coverage, since the tester cannot target specific code segments or error prone areas.
• The test cases are difficult to design.
19. What is Bottom-Up Approach?
ANSWER: Bottom- Up is an approach used in integration testing, which is a level of software testing where individual units are combined and tested as groups. Integration testing is performed by software testers once unit testing is completed and before the inception of system testing. The main purpose of this level of testing is to expose faults in the interactions between integrated units. To assist testers in integration testing, test drivers and test stubs are used. Integration test-ing is defined by International Software Qualifications Board (ISQB) as process of testing per-formed to expose defects in the interfaces and in the interactions between integrated components or systems. During the process of software testing, integration testing is executed for various rea-sons, some of which are mentioned below:
• Integration testing becomes necessary to validate that various software modules are work-ing in unity. .
• At the time of module development, there can be a change in client’s requirements. If these requirements have not gone through unit testing, integration testing becomes com-pulsory for them.
• Interfaces of software modules with database can contain errors, which can be resolved through integration testing.
• As inadequate exception handling could cause issues and hence require integration testing.
Advantages of Using Bottom-Up Approach:
The advantages of bottom-up approach are:
1.It is appropriate for applications where bottom-up design methodology is used.
2.Test conditions can be created easily.
3.If the low level modules and their combined functions are often invoked by other modules, then it is more useful to test them first so that meaningful effective integration of other modules can be done.’
4.Always starting at the bottom of the hierarchy again means that the critical modules are gener-ally built and tested first and therefore any errors or mistakes in these forms of modules are iden-tified early in the process.
5. Advantageous if major flaws occur towards the bottom of the program.
Disadvantages of Bottom-Up Approach of Software Testing:
The disadvantages of Bottom-Up approach are:
1.Test engineers cannot observe system level functions from a partly integrated system.
2.They cannot observe the system level functions until the top level test driver is in place.
3.The program as an entity does not exist until the last module is added.
4.One big disadvantage of bottom up strategy is that, in this sort of testing no working model can be represented as far as several modules have been built.
5.This approach is driven by the existing infrastructure instead of the business processes.
20. What are the different Types of Software Testing?
ANSWER : Types of Software Testing Techniques:
• Acceptance Testing: The aim of this testing is to test the compliance of the software with client’s and business requirements and to assess its acceptability for delivery.
• Agile Testing: Important testing technique, wherein testing ; development activities hap-pen concurrently. Is also known as release or delivery driven approach.
• Accessibility Testing: Subset of usability testing, accessibility testing ensures that the ap-plication can be used by people with disabilities easily. Includes testing compliance with various accessibility standards.
• Adhoc Testing: This testing does not follow any structured way of testing and requires no documentation and planning. Here, testing is performed randomly by the testers.
• Alpha Testing: A type of acceptance testing, it stimulates real users with the assistance of black box and white box testing.
• Beta Testing: Here, software is tested in the real environment by real users. It can be termed as an external form of acceptance testing that reduces product failure risks and provides increased product quality.
• Functional Testing: Functional testing validates that the software has all the required func-tionalities.
• Non-Functional Testing: The aim of testing here is to ensure the non-functional require-ments of the software, such as the way the system operates.
• Black Box Testing: During this testing, knowledge of software’s internal structure, code, design, etc. is not required.
• White Box Testing: Here, the testers are aware of the internal structure and design of the software. It is applicable to unit testing, integration testing, etc.
• Gray Box Testing: A combination of white box and black box testing, in gray box testing testers have a limited knowledge of software’s internal structure. It is considered to be non-intrusive and unbiased.
• Compatibility Testing: It helps in determining the compatibility of the software product with various devices, environment, OS, networks, platforms, and more.
• Installation Testing: A crucial testing technique, installation testing ensures successful in-stallation of the application, before it is made available for the use of the end users.
• Endurance Testing: This is a type of non-functional testing, which is also known as soak testing. It involves testing a software under a significant load to validate its behaviour.
• Exploratory Testing: It tests the functionality, performance, features, and all the other components of the software, when the specifications and requirements are not defined.
• Integration Testing: Executed after unit testing ; before validation testing, here individual software modules are combined and tested as a group.
• Component Testing: Also known as program ; module testing, it tests the various compo-nents of the software in isolation to evaluate their quality and accuracy.
• System Testing: This testing is executed on a complete and integrated system to evaluate its compliance with its specified requirements.
• Load Testing: A type of performance testing technique, which is used to determine the performance of the system under real life load conditions.
• Localization Testing: Tests the software to make it suitable for a particular region, coun-try, or language. Makes the software culturally and linguistically appropriate.
• Globalization Testing: Ensure the adaptability, flexibility, and functionality of the software components, while making sure it is geographically, culturally, and linguistically acceptable all over the world.
• Regression Testing: Helps verify the performance of the software after it is changed or in-terfaced with other software systems.
• Smoke Testing: Also referred as build verification testing, smoke testing is performed to ensure software system’s critical functionalities are working as intended.
• Sanity Testing: Performed, after minor changes are executed in the software build, to make sure its functionality is not hindered by the executed changes.
• Security Testing: This type of testing is performed to protect the software and application from unforeseen threats and various security breaches.
• Scalability Testing: Measures the capability of a software, network, or process to continue working properly even after changes are implemented in its size and volume.
• Performance Testing: Determines the performance, stability, responsiveness of the soft-ware under expected workload.
• Stress Testing: Tests the software and its performance, functionality, and effectiveness un-der unfavourable and unexpected conditions.
• Usability Testing: Also known as user experience testing, here the software product is tested by user representatives.
• Volume Testing: A non-functional testing type, where software is tested by increasing the volume of data in the database. The aim is to analyze the performance of the software.
• A/B Testing: A statistical hypothesis testing or split testing, wherein two variants of the web page are tested to determine the better performing variant.