Qa Definition Part 1

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Black Box Testing (Testing Tatics)

1. Black box testing techniques are also called functional testing techniques. 2. Black box testing is a software testing method in which internal structure/design/implementation of the item being tested is NOT know to the tester. 3. It is mainly applicable to higher levels of testing such as Acceptance Testing & System Testing. 4. Black box testing is generally done by Software Testers. 5. Programming knowledge is not required. Implementation knowledge is not required. Blackbox --input → ▢ -- output → (You are black box functional tester. You don't get access to the code.)

Ex: for software development bike example (trying to assemble the bike) When you're trying to put together the bike your getting closer to the bike. Step by step instruction. From step 1 to step 2 to step 3. From each step you're getting closer to the bike. Direct to indirect connection. Many to many connection.

1. Is one program (1 is a unit) 2. Is a combination of two programs (2 is a combination of 1 & 2 units) 3. Is a combination od 1-2-3 units (Every piece of program is a unit. Developers are testing each unit. Connecting two different units are called integration. We validate the integration. (To verify if a is connected to b or b is connected to c. 1-1 1-2 1-many. your full product connectivity is validated. We learned: Unit testing is done by developers. Integration is done by developer. Integration Testing is done by tester. When we do all the extended verification, it's called as system testing. Testing it in an real environment is end-to-end testing. Testing full integration in a controlled environment is system testing. Testing the system in real time. Fanadango.com you search a movie & buy ticketed. You tested it when you design it. But when you launch it, how is it suppose to work? People from all over buying but everybody should have track of # of tickets sold/avaialble /not avaibale. Unless we test that should we launch it. Testing a completed system in a closed environment still in the process of verification that is system test. Testing application to match real time works that is end to end test. We learned: Unit testing is done by developer Integration done by developer We as a tester start at integration, extended intergration 1-1 1-2 1-many. We'll do system test from that then end to end test. UAT is not our responsiblity, but we'll coordinate the UAT. (As a software tester you'll be doing integration testing, system testing, end to end testing and support UAT testing. ) Make sure you're very clear with all this.

White Box (Testing tatics)

1. White box testing techniques are also called structural testing techniques. 2. White box testing is a software testing method in which internal structure/design/implementation of the item being tested is know to the tester. 3. Mainly applicable to lower levels of testing such as unit testing and integration. 4. White box testing is generally done by software developers. 5. Programming knowledge is required. 6. Implementation knowledge is required. White box -input →. ▢ -output→ (White box testing, it's at a code level. It deeps, how they are structured, how the database is connected with it. Done by developer.)

Build

A development activity where a complete system is complied where & linked at a definite frequency so that a consistent system is available at any time including all lastest changes. (Every week program gets bigger & bigger-when having a 2 years project. All the program that is received from everyone is called a build. In software testing, they say build (package) got delivered let's start testing. They gave a new piece of code in addition to what we have. Every time I bundle ir it's called a build). Every copy of the build will be assigned a unique Build #. (It'll help to back track on where the problem had occur. They maintain a library of builds & they archive. If you accidentally lost previous one then the other one is available to you.) Every build is delivered along with a Release Notes. (It's a prospect of a build. Booklet.) An Archive of all the builds is maintained. (You're suppose to worry that schedule of the build, on when it'll be delievered to you. When is it coming. How the build is done, release notes created.) (Build is a package that they try to create. Every time the code is comply they try to give a #. They'll publish a document which is called release notes.) package is noting a build.

Ad hoc testing

A testing phase where the tester tries to "break" the system by randomly trying the system's functionality. Also know as random or monkey testing (leave a monkey in a room, you don't know what he'll do) A testing activity conducted without following an sequence, formal process or standard documentation (Not provided any instruction. You apply your thoughts and test that. Curious to find something.)

Alpha Testing

Alpha testing performed by tester who are usually internal employees of the organization. Alpha testing performed at developers site. or client site. Reliability and Security testing are not performed in dept Alpha testing. Alpha testing involves both the white box & black box techniques. Alpha testing requires a lab environment or testing environment. Long execution cycle may be cycle may be required for Alpha testing. Critical issues or fixes can be addressed by developers immediately in alpha testing. Alpha testing is to ensure the quality of the product before moving to Beta testing.

Beta Testing

Beta testing is performed by clients or End users who are not employees of the organization. Beta testing is performed at a client location or end user of the product. Reliability, security, robustness are checked during Beta testing. Beta testing typically uses Black Box testing. Beta testing doesn't require any lab environment. The software is made available to the public & is said to be real time, environment. Only a few weeks of execution are required for beta testing. Most of the issues or feedback are collected from Beta testing will be implemented in future version of the product.

Unit Testing

Every single/individual unit is tested and pulled together, after developer have said they have tested it, they pulled together, after pulling a couple of them, several time, it becomes a system.

GUI Testing/ Front-End Testing

Graphical user interface(media) testing- is the porcess of testing a product's graphical user interface to ensure it meets its written specfication Testing how the application and the user interact. This includes how the application handles keyboard and mouse input and how it displays screen text, images, button, menus dialog boxes, icons, toolbars and more Any application you'll interact with the face but behind the face, the heart is the database. Every application will have a heart-that is back end. What you can see/interact? Is the user interphase. Your testing effort starts from front end. Back end is what you don't see behind. Business logic, firewall. (Objects we use to interact w/computer) Behavior of objects.functionality of objects. We do front end & backend testing. Also be teaching you sql to learn. object we use to interact with the computer.

Acceptance Testing

If there is one customer, a series acceptance tests are conducted (by the customer) to enable the customer to validate all requirements. *UAT-User Acceptance Test -- Usually conducted by the end user under the supervision and guidance of the s/w development & Testing Teams. (UAT is Pre-Deleivry Test) *PVT- Production Verification Test -- Upon Delivery the code in to production environment a test is conducted to verify that the application work as expected. (PVT is a Post Delivery Test) *If software is being developed for use by many customers, can not use acceptance testing. An alternative is to use alpha and beta testing to uncover errors. UAT is not an every day activity. It should be done at the end. Ex: you want to get a dress fixed. you go to the tailor & give your measurements and you say when your done let me know. Take a trail to accept to see if you like it, give some suggestion, your paying for it. UAT is a formally. It's an eye wash.

Integration

Individual Units of code are expected to communicate with the other units within the system and deliver the expected functionality. Verifying the connectivity between the units and the combined functionality is nothing but Integration Testing. (We'll start at integration testing, what do you mean, Module A is connected with B. see you're on account screen & you click on log out, what will occur. It'll close the application & return to login page. That's how login is written, that's how program is written. That's because connectivity, individual units of code are expected to connect with other units in the system and deliver.) What's the difference between integration testing & system testing? Unless you know both of them, it's difficult to explain. Integration testing is testing between a & b. but If you are testing all the one to one, one to many, we'll call it as a system testing. In other words extended integration testing is system testing. So, the only difference you have to understand is , when I'm testing 1 & 2 connectivty 2 & 2 connectivty independate connectivty that is integration. [But] When I'm testing multiple level connectivty 1-1, 1-many, many to many, that is system testing.

Non-Functional Testing

It checks the behavior of an application. Non-functional testing is done based on the customer expectation and Performance require. It checks the response time, & speed of the software under specific conditions. It is more feasible to test using automated tools. Ex: Load-runner It tests as per customer expectations. Customer feedback is more valuable for non-fucntional testing as it helps to improve & lets the tester to know the expectation of the customer. It's testing the performance of the functionality of the software.

Functional Testing

It's tests "What" the product does. It checks the operations & action of an Application. Functional testing is done based on the business requirement. It tests whether the actual result is working according to the expected result. It's carried out manually. Ex: Blackbox testing method. It tests as per the customer requirements. Customer feedback helps in reducing the risk factors of the product. It is testing the functionality of the software.

Functional vs Non-Functional Testing

Just like we have a vertical division of white box & black box. We learn black box is our piece of cake and white box is by developers. There are 2 catergories divided functional & non-functional. For ex: I'm designing a website, you have a business, ur selling products at home, what does that mean, I should be able to list my products, accept credit cards, get feedback. I should make sure all this is in place & I'm validating all this. There is a purpose for which the website is designed or which the website is design. I'm focusing on whether the purpose is being accomplished or not That is functionality testing. What is non functionality? How fast it's doing it's job. When someone is putting in an order, how long is it authentic is coming back. When I'm signing in, is the password protected or not. Is somebody able to break a part my application. There are some activities in which are non functional also. How protected is my website, How many users & work on my application. All that is related to non functional testing. Most of non functional testing is a specialization---Performance testing, security testing, load testing, ethical hacking, all falls under non functional. Understand, We are black box functional tester. Performance testing is related white box testing related to the code, optimization of the code, data base tuning falls under non functional. So, always understand, We fall under black box testing. As a user I'll give my input, If I don't get my expected answers, I'll raise my hand.

Negative vs Postive Testing

Negative Test- Test Executed to verify that the application is doing what is not expected to do. Testing aimed at showing software software does not work. Also know as "test to fail". ( - test, it's asking for something wrong, initentaliy I'll give wrong value if it's asking for date give wrong date. I want to see what'll happen, how the system responses. It has to block me.) Positive Test- Test Executed to verify that the application is doing what is expected to do. Testing aimed at showing software works. Also known as "test to pass". (+ test is done to check, the normal functionality. I give all correct values, I accept the result.)

System Testing

Once each of the individual modules have been tested & validated to correctly perform all the instructions assigned to it, the next step is to verify connectivity to related modules. (Why relate modules is because every page isn't like to other one. From home page to login but can't log) They system test should detect any errors promoted between modules within the same system. (I do something on one page my name shows up & next page shows someone else's name, that means some connection went wrong. So you have to make sure connection from start to finish is fine.) As a result of a completed system test, all internal "hand-shaking" will have been verified. (Every piece that is suppose to get connected to, the connection are done properly & have a handshake between all them. All the piece speak/commnicate with each other properly.)

Regression Testing

Retesting a prevoiusly tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made. Regression Testing is Re-Testing. Testing done (post-fix) to confirm that the fix is done, and the issue is resolved. Testing to done to verify that New issues are not introduced in the process of fixing the issue. (Regression Testing is retesting. It's done to make sure the issues are solved. You find the problem & report ti developer & he fixes it. But new problems can occur when you fix one problem. It also is done to ensure that the new problems are not introduce.) "When you fix one bug, you introduce several newer bugs." (Repeating testing of program after it's functional enhancement or fixes)

Software Development

Software Applications are built over a period. Too many people contribute for the total functionality of the application. Individual modules are designed and integrated to complete the entire application. (Multiples technology, people, program make a software application) Developers who design the units are expected to verify the entire application. ( I write a program that should library of other programs thats part of other programs, I'm responsible to test my own. Ex: If I write a small program for login I have setup all the channels and program has to do on what it's suppose to do. I'm responsible to verify that. THAT PIECE IS A UNIT.) Every individuals module of code is recognized as a unit. (One program written by developer is a unit. Software application is an integration of units. Library of serval units-several programs to put together. Each program that is written is called a unit.)

End-to-end testing

Testing a complete application environment in a situation that mimics real-world use, such as: interacting with a database, (pulling the right numbers or not working w/wifi or working in non internate areas or not) using network communications, interacting with other hardware, applications (When I connect it, I want to print it) It should be able to do that. When I'm looking it one mobile, it should be accesable on it. Everything is validate from start to finish. It meets reality. What's the difference between system test & end-to-end test? It's the same test, testing all the connections & making sure everything is in place [But] System test is done in a lab, in a controlled environment. {Testing bike in a lab} End-to-end test is done in a real time environment. {Testing bike on road}

Black Box Testing

Testing based on --external specifications-- without the knowledge of how the system is constructed. --what can it process past date, future date can't be processed. where the logo suppose to come on what should be login id, password ----- Testing based on analysis of the specification of a piece of the software without reference to it's internal workings. (If you find apple to apple you'll pass but If you find apple to orange you'll raise a bug) The goal is to test how well the component confirms to the published requirements for the component. (Your meeting user satisfaction. As long as the user is satisfied then we'll launch it.)

White Box Testing

Testing based on knowledge of internal code structure & logic. Testing based on an analysis of internal working and structure of software. framework Also known as Structural Testing and Glass Box Testing. Transprent Contrast with Black Box Testing. opposite


Ensembles d'études connexes

Biol 30 - Human Sexuality UNIT 1 EXAM

View Set

Conceptual/Theoretical Framework

View Set

Nurse 4705 EXAM 3 (FINAL CLASS EXAM EVER!!!!)

View Set

Lifespan development ch 9 psychology 1101

View Set

The Art of Public Speaking Ch. 10-18

View Set