a:6:{i:0;s:13472:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for quality assurance analyst in bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.titans.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.titans.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for quality assurance analyst in bangalore</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Quality Assurance Analyst</div>
									<p class="mt7px fw6">Bangalore</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="300876">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007167"><input type="hidden" name="subject" value="Applied for Quality Assurance Analyst">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">Job Description:<br />
<br />
A Quality Assurance Analyst has expertise in analysis, testing, data management and problem<br />
solving. These skills are used to test software applications to make sure they work as designed and solve the intended business problem. This will involve working closely with Developers and Business Systems Analysts to understand specifications for new application components and/or improve existing application components. You will be expected to design, write, document, and maintain test scripts.<br />
Looking for a very detailed person that can think out of the box to test and insure quality. Experience in developing functional automation testing is a must. You will assist other teams as needed to complete a release and maintain the quality of the system and documentation. In addition to the primary responsibilities listed above, work with other teams assisting with analyses and troubleshooting help desk tickets.<br />
<br />
Essential Duties and Responsibilities:<br />
<br />
•	Be creative in finding testing solutions<br />
•	Manually test web applications on multiple browsers<br />
•	Research, identify, reproduce, isolate and report defects<br />
•	Verify resolved defects against applicable environments<br />
•	Ability to juggle multiple projects; from new application launches to maintenance releases.<br />
•	Construct test cases; modify the existing test cases as the test requirements change<br />
•	Collaborate with the Development, Project Managers and Product Team to ensure that quality standards are met<br />
•	Use feedback from customer support to expand test scenarios<br />
•	Assist Product Team in resolving layout and formatting issues (e.g. design, user-flow experience)<br />
•	Provide input/status updates regarding test progress/results daily.<br />
<br />
Knowledge/Skills:<br />
<br />
•	BS/MS degree in Computer Science, Engineering or a related subject<br />
•	2+ years of experience in software testing.<br />
•	Inquisitive analytical skills and the ability to think through test cases and test execution to ensure product reliability.<br />
•	Experience developing</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 7  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.C.A, M.C.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Software Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Automation Tester</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QA Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality Assurance Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QC Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QA Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Qa</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Qms</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality Assurance</span>
												<span class="bdr dib p2px10px mr5px mt2px"></span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr. Mahesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Bangalore</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9986470009 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:crmahesh@titans.co.in"> crmahesh@titans.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="300876">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007167"><input type="hidden" name="subject" value="Applied for Quality Assurance Analyst">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(24)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-secunderabad.htm" title="Jobs in Secunderabad">Secunderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-tirunelveli.htm" title="Jobs in Tirunelveli">Tirunelveli</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nagpur.htm" title="Jobs in Nagpur">Nagpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-sonipat.htm" title="Jobs in Sonipat">Sonipat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-tirupati.htm" title="Jobs in Tirupati">Tirupati</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-haridwar.htm" title="Jobs in Haridwar">Haridwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-krishnagiri.htm" title="Jobs in Krishnagiri">Krishnagiri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(12)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(9)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(8)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'czdPUEtUdDFESm1mNzZ3d3VlamtrZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:75:"Job openings for quality assurance analyst in bangalore | Titan Consultancy";i:2;s:216:"Quality Assurance Analyst Jobs,Quality Assurance Analyst Jobs in Bangalore,Quality Assurance Analyst Vacancy in Bangalore,Quality Assurance Analyst jobs in India,Manufacturing / Production / Quality jobs in Bangalore";i:3;s:385:"Apply for Quality Assurance Analyst Jobs in Bangalore India - Quality Assurance Analyst Vacancy  in Manufacturing / Production / Quality field with 2 to 5 years Work Experience, Key Skills are Software Testing, Automation Tester, QA Testing, Quality Assurance Analyst, QC Engineer, QA Engineer, Qa, Qms, Quality Assurance,, Manufacturing / Production / Quality jobs in Bangalore  India";i:4;s:3281:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Quality Assurance Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1007167"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9986470009",
	      "email" : "crmahesh@titans.co.in"  
	       },
		  "url": "http://www.titans.co.in/job-openings-for-quality-assurance-analyst-bangalore-1007167.htm",
          "datePosted": "2021-11-12",
          
		  "baseSalary": " 7  Lac  To  10  Lac ",
		  "description": "Job Description:

A Quality Assurance Analyst has expertise in analysis, testing, data management and problem
solving. These skills are used to test software applications to make sure they work as designed and solve the intended business problem. This will involve working closely with Developers and Business Systems Analysts to understand specifications for new application components and/or improve existing application components. You will be expected to design, write, document, and maintain test scripts.
Looking for a very detailed person that can think out of the box to test and insure quality. Experience in developing functional automation testing is a must. You will assist other teams as needed to complete a release and maintain the quality of the system and documentation. In addition to the primary responsibilities listed above, work with other teams assisting with analyses and troubleshooting help desk tickets.

Essential Duties and Responsibilities:

•	Be creative in finding testing solutions
•	Manually test web applications on multiple browsers
•	Research, identify, reproduce, isolate and report defects
•	Verify resolved defects against applicable environments
•	Ability to juggle multiple projects; from new application launches to maintenance releases.
•	Construct test cases; modify the existing test cases as the test requirements change
•	Collaborate with the Development, Project Managers and Product Team to ensure that quality standards are met
•	Use feedback from customer support to expand test scenarios
•	Assist Product Team in resolving layout and formatting issues (e.g. design, user-flow experience)
•	Provide input/status updates regarding test progress/results daily.

Knowledge/Skills:

•	BS/MS degree in Computer Science, Engineering or a related subject
•	2+ years of experience in software testing.
•	Inquisitive analytical skills and the ability to think through test cases and test execution to ensure product reliability.
•	Experience developing",
		  "educationRequirements": "B.C.A, M.C.A",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "B.C.A, M.C.A",
		     "skills": "Software Testing, Automation Tester, QA Testing, Quality Assurance Analyst, QC Engineer, QA Engineer, Qa, Qms, Quality Assurance,"
		  }
		</script>
		";i:5;N;}